Tektura obiektów. Ogólnie sekcja opisująca teksturę wygląda następująco:



Podobne dokumenty
Podstawy POV-Ray a. Diana Domańska. Uniwersytet Śląski

Podstawy POV-Ray a. Diana Domańska. Uniwersytet Śląski

Zajęcia z grafiki komputerowej Pov Ray część 2

Techniki wizualizacji. Ćwiczenie 10. System POV-ray tworzenie animacji

Graficzne modelowanie scen 3D. Wykład. Pov-Ray

Mamy co prawda trawiastą powierzchnię ziemi i niebo, ale scena wygląda mało realistycznie. Zmieńmy nieco właściwości tekstury płaszczyzny gruntu:

Grafika 3D program POV-Ray - 1 -

Techniki wizualizacji. Ćwiczenie 9. System POV-ray - wprowadzenie

Ustawienia materiałów i tekstur w programie KD Max. MTPARTNER S.C.

Co to jest współczynnik oddawania barw?

Model oświetlenia. Radosław Mantiuk. Wydział Informatyki Zachodniopomorski Uniwersytet Technologiczny w Szczecinie

Grafika 3D program POV-Ray

Oświetlenie. Modelowanie oświetlenia sceny 3D. Algorytmy cieniowania.

Ćwiczenie 4 - Podstawy materiałów i tekstur. Renderowanie obrazu i animacji

rgbf<składowa_r,składowa_g,składowa_b,filter>. Dla parametru filter przyjmij kolejno wartości: 0.60, 0.70, 0.80, 0.90, 1.00, np.:

Oświetlenie obiektów 3D

Grafika Komputerowa Wykład 6. Teksturowanie. mgr inż. Michał Chwesiuk 1/23

Przewodnik po soczewkach

OpenGL oświetlenie. Bogdan Kreczmer. Katedra Cybernetyki i Robotyki Wydziału Elektroniki Politechnika Wrocławska

Animowana grafika 3D. Opracowanie: J. Kęsik.

MODELE KOLORÓW. Przygotował: Robert Bednarz

kolorami komplementarnymi.

Podstawy POV-Ray'a. Diana Doma«ska. Uniwersytet l ski. Diana Doma«ska (U ) Podstawy POV-Ray'a 1 / 13

Spora część kodu programu jest dla nas nieprzydatna. Dokonaj zmian tak, aby kod miał postać:

Grafika Komputerowa Wykład 5. Potok Renderowania Oświetlenie. mgr inż. Michał Chwesiuk 1/38

INFORMATYKA WSTĘP DO GRAFIKI RASTROWEJ

kolorami komplementarnymi.

Cześć Pierwsza. Do czego służy Povray

Grafika na stronie www

Animacja. Instrukcja wykonania animacji metodą klatek kluczowych. Autor: Bartosz Kowalczyk. Blender 2.61

Rysunek 1: Okno timeline wykorzystywane do tworzenia animacji.

Graficzne modelowanie scen 3D. POV-Ray. Wykład 2

Materiały 2 1.Kasujemy wszystko ze sceny. Upewniamy się ze uruchomiliśmy Cycles render. 2. W (0,0,0) stawiamy sphere wielkości (2,2,2), nazywamy ja

Grafika trójwymiarowa. Grafika trójwymiarowa. Pojęcie kamery. Źródła światła - przykłady. Rzutowanie trójwymiarowych obiektów. Grafika trójwymiarowa

Grafika komputerowa. Model oświetlenia. emisja światła przez źródła światła. interakcja światła z powierzchnią. absorbcja światła przez sensor

AutoCAD LT praca na obiektach rastrowych i nakładanie barw z palety RGB na rysunki.

Oświetlenie w OpenGL. Oprogramowanie i wykorzystanie stacji roboczych. Wykład 8. Światło otaczajace. Światło rozproszone.

Przy dużej wielkości głębokości uzyskamy wrażenie nieskończoności: Dla głębokości zerowej uzyskamy tekst płaski:

GRK 4. dr Wojciech Palubicki

6 Przygotował: mgr inż. Maciej Lasota

zajęcia 2 Definiowanie wektorów:

Modelowanie i wstęp do druku 3D Wykład 1. Robert Banasiak

Paweł Kaźmierczak. styczeń 2009

Do opisu kolorów używanych w grafice cyfrowej śluzą modele barw.

W naukach technicznych większość rozpatrywanych wielkości możemy zapisać w jednej z trzech postaci: skalara, wektora oraz tensora.

Wahadło. Celem ćwiczenia jest zapoznanie się z zasadą dokonywania wideopomiarów w systemie Coach 6 oraz obserwacja modelu wahadła matematycznego.

enova Systemowe Kolorowanie list

Materiały. Przygotowanie plików: 1. Ściągamy i otwieramy tę scene ; ściągamy też te tekstury: Small, Tiled, Small, Tiled, Small.

1. Prymitywy graficzne

Materiały. Dorota Smorawa

Grafika komputerowa Tekstury

Inkscape. Menu. 1 SVG (ang. Scalable Vector Graphics) uniwersalny format dwuwymiarowej, statycznej i

Wstęp do GIMP wycinanie obiektu z obrazka, projekt napisu. Rozpoczynamy prace w GIMP-e

37. Podstawy techniki bloków

Scena 3D. Cieniowanie (ang. Shading) Scena 3D - Materia" Obliczenie koloru powierzchni (ang. Lighting)

GRAKO: ŚWIATŁO I CIENIE. Modele barw. Trochę fizyki percepcji światła. OŚWIETLENIE: elementy istotne w projektowaniu

1 LEKCJA. Definicja grafiki. Główne działy grafiki komputerowej. Programy graficzne: Grafika rastrowa. Grafika wektorowa. Grafika trójwymiarowa

Laboratorium grafiki komputerowej i animacji. Ćwiczenie V - Biblioteka OpenGL - oświetlenie sceny

Zadanie Wstaw wykres i dokonaj jego edycji dla poniższych danych. 8a 3,54 8b 5,25 8c 4,21 8d 4,85

Podręcznik tworzenia skórek do Nowego Gadu-Gadu

WYKŁAD 11. Kolor. fiolet, indygo, niebieski, zielony, żółty, pomarańczowy, czerwony

Ćwiczenie 23 Praca z plikiem.psd

True Space 3.2 KURS PODSTAWOWY. program można ściągn ąć za darmo ze strony Co to właściwie jest?

Tworzenie szablonów użytkownika

GIMP. Ćwiczenie nr 6 efekty i filtry. Instrukcja. dla Gimnazjum 36 - Ryszard Rogacz Strona 18

Teoria światła i barwy

Podstawy użytkowania systemu Linux

Calisto v hr. Kami Chojnacka. Kurs grafiki 3D

Grafika w LaTeXu Łukasz Daros & Jakub Jakubiec

Technologie Informacyjne

54. Układy współrzędnych

Grafika 3D program POV-Ray

GRAFIKA RASTROWA. WYKŁAD 1 Wprowadzenie do grafiki rastrowej. Jacek Wiślicki Katedra Informatyki Stosowanej

Tekstury 2. Ćwiczenie 2 (Budynek)

PODSTAWY BARWY, PIGMENTY CERAMICZNE

FORMUŁY AUTOSUMOWANIE SUMA

Wyznaczenie długości fali świetlnej metodą pierścieni Newtona

Fizyka ciał w Cinema4D - dwie kulki.

Światła i rodzaje świateł. Dorota Smorawa

Rysunek przedstawia test naszego modelu w tej drugiej odmianie panoramy Sky Texture:

Ćwiczenie 4 - Tabele

Tworzenie i edycja dokumentów w aplikacji Word.

Optyka 2012/13 powtórzenie

Przygotowanie grafiki 3D do gier komputerowych

Górnicki Mateusz 17681

Scilab - podstawy. Wersje instalacyjne programu Scilab mogą zostać pobrane ze strony

10.3. Typowe zadania NMT W niniejszym rozdziale przedstawimy podstawowe zadania do jakich może być wykorzystany numerycznego modelu terenu.

Modele i przestrzenie koloru

Następnie zdefiniujemy utworzony szkic jako blok, wybieramy zatem jak poniżej

Rodzaje zadań w nauczaniu fizyki

Cała prawda o plikach grafiki rastrowej

Gry komputerowe: efekty specjalne cz. 2

Światło. W OpenGL można rozróżnić 3 rodzaje światła

Spis treści Spis treści 1. Model CMYK Literatura

Grafika komputerowa. Dla DSI II

17. Który z rysunków błędnie przedstawia bieg jednobarwnego promienia światła przez pryzmat? A. rysunek A, B. rysunek B, C. rysunek C, D. rysunek D.

EXCEL. Diagramy i wykresy w arkuszu lekcja numer 6. Instrukcja. dla Gimnazjum 36 - Ryszard Rogacz Strona 20

Analiza obrazu. wykład 4. Marek Jan Kasprowicz Uniwersytet Rolniczy 2009

Grafika komputerowa dziedzina informatyki zajmująca się wykorzystaniem technik komputerowych do celów wizualizacji artystycznej oraz wizualizacji i

Jak tworzyć dobre wizualizacje? Porady do wykorzystania w programie KD Max. MTpartner s.c.

Transkrypt:

Tektura obiektów Tekstura opisuje wygląd powierzchni obiektów. W PovRay'u do opisu tekstury wykorzystuje się trzy parametry: barwnik - pigment (ang. pigment) określa kolor powierzchni obiektu; wektory normalne do powierzchni (ang. normals) umożliwiają symulacji różnych wzorców występujących na powierzchni obiektów: nierówności, wybojów, wgnieceń lub zmarszczek; wykończenie (ang. finishes) określa odbicia i refleksje światła na powierzchni obiektów. Ogólnie sekcja opisująca teksturę wygląda następująco: // definicja pigmentu normal { // definicja wektorów normalnych finish { // definicja parametrów wykończenia obiektu scale wspskalolwania rotate wspobrotu translate wspprzesunięcia Nie musimy definiować wszystkich parametrów, zostaną wówczas użyte wartości domyślne. Definiując jedną z sekcji np. pigment, można użyć formy skrótowej pomijając słowo texture i nawiasy { (patrz przykłady poniżej). 1. Pigment Jednolity kolor obiektów otrzymujemy wstawiając specyfikacje koloru do sekcji pigment: color Red Wzorce kolorów: dostępne są 3 wzorce kolorów: szachownica (ang. checker), sześciokąt (ang. hexagon), cegła (ang. brick) {rys. 1.. Stosując szachownicę lub cegłę należy podać dwa kolory oddzielone przecinkiem, dla sześciokąta trzy. W przypadku niewystarczającej ilości kolorów, brakujące są uzupełniane kolorami domyślnymi. #include "colors.inc" camera { location <-10, 7, -10> look_at <0, 0, 0> light_source {<-2, 10, -10> color White * 1.5 shadowless // brak cieni plane {<0, 1, 0>, 0 hexagon Red, Green, Blue scale.4 rys. 1. Wzorce kolorów. plane {<0, 0, 1>, 0 brick White Red plane {<1, 0, 0>, 0 checker White Black Dodajemy do pliku źródłowego definicje dwóch walców:

cylinder { 0, <0, 1, 0>, 1 hexagon Red, Green, Blue scale 0.2 translate <-2, 1, -2> cylinder { 0, <0, 0, -1>, 1 hexagon Red, Green, Blue scale 0.2 rotate x * 90 + y* 60 translate <-4, 1, -2>. rys. 2. Wzorzec sześciokątny na walcach Zwróć uwagę jak nałożone są wzorce na walcach (rys. 2). Uwaga! W podsekcjach sekcji texture można używać instrukcji: scale, rotate i translate (działają analogicznie jak dla obiektów), które oddziaływają tylko na elementy zawarte w tej sekcji. W powyższych listingach skalowanie dotyczy wyłącznie sześciokątnego wzoru nałożonego na walce. Ćwiczenie 1. Narysuj dowolną płaszczyznę pionową z naniesionym wzorem w kształcie sześciokątów. Ćwiczenie 2. Narysuj dowolną płaszczyznę z naniesionym wzorem w kształcie karo. Mapy kolorów umożliwiają zarówno wykorzystanie większej liczby kolorów jak również płynne przejścia pomiędzy nimi (rys. 4). Pierwszym parametrem jest gradient, który określa kierunek ułożenia warstw kolorów. W drugim parametrze definiujemy kolory oraz przedziały, w których będą obowiązywały. Każdemu punktowi powierzchni obiektu zostaje przypisana wartość liczbowa z przedziału <0, 1>, która następnie jest zastąpiona kolorem z mapy kolorów. W poniższym przykładzie dla wartości mniejszych od 0.1 zostanie użyty kolor czerwony, w przedziale (0.1, 0.3> kolor będzie się płynnie zmieniał od czerwonego do żółtego, w przedziale 0.3-0.6 następuje płynna zmiana koloru żółtego na niebieski, w przedziale 0.6 0.7 otrzymujemy czystą barwę niebieską, (dwa razy wyszczególniony ten sam kolor), dokładnie dla wartości 0.7 otrzymamy barwę zieloną, następnie pomiędzy 0.7 i 0.8 płynne przejście koloru z zielonego na pomarańczowy, dla wartości gradientu powyżej 0.8 otrzymamy czystą barwę pomarańczową (rys. 4a i 4b). cylinder { 0, <0, 0, -1>, 1 gradient x color_map { [0.1 color Red] [0.3 color Yellow] [0.6 color Blue] [0.7 color Blue] [0.7 color Green] [0.8 color Orange] rotate x * 90 + y* 60 translate <-3, 1, -2> rys. 3. Rysunek walca rys. 4b. Mapa kolorów (gradient x) rys. 4a. Mapa kolorów (gradient y) Mapy pigmentów umożliwiają z utworzenie obiektu składającego się z wielu warstw, gdzie każda warstwa może być zrobiona z innego materiału. Sześcian na rys. 5 zbudowany jest trzech warstw materiału: drewna, nefrytu i marmuru. Gotowe wzorce materiałów zdefiniowane są w plikach nagłówkowych, między innymi: textures.inc, stones.inc, woods.inc.

box { -1, 1 gradient x pigment_map { [0.33 wood ] // drewno [0.33 Jade] // nefryt [0.5 Jade] [.86 marble] // marmur rotate x * 60 scale 1.5 Mapy pigmentów można zagnieżdżać, np. jako wzorce umieszczone na szachownicy (rys. 6): cylinder {0 <0, 0, 2>, 2 checker Jade wood scale 0.2 scale 0.5 rotate -30 * x Mapy obrazów umożliwiają naniesienie 2D obrazu zapisanego w pliku na 3D obiekt. Obrazek nanoszony jest wielokrotnie na obiekt tak, aby pokryć całą jego powierzchnię. box { -2, 0 image_map { sys"grenadine.bmp" rotate -10* x+y*30 translate 4*x + 2*y cylinder {0 <0, 0, 2>, 2 image_map { "chess2.bmp" rotate 90 * x rotate -60 * x translate - 2.5 * x Pierwszy argument oznacza typ pliku graficznego. PovRay odczytuje pliki następujących typów: gif, tga, iff, ppm, pgm, png, jpeg, tiff, sys. Sys oznacza format pliku specyficzny dla danego systemu operacyjnego, np. bmp dla Windows'ów. Pliki obrazów najlepiej umieścić w tym samym katalogu co plik źródłowy. Ćwiczenie 3. Utwórz scenę przedstawiającą ścianę z powieszonymi na niej obrazami. Zadbaj również o szczegóły: ramy do obrazów, posadzka w karo, listwy przypodłogowe, drzwi. 2. Wektory normalne do powierzchni obiektu. Bardzo trudno modeluje się takie zjawiska jak nierówności powierzchni. W PovRay'u do tego celu wykorzystano wektory normalne, tzn. wektory, które w danych punktach są prostopadłe do powierzchni i skierowane w kierunku do niej przeciwnym. Poprzez sztuczną modyfikację lub zaburzanie wektorów normalnych można uzyskać efekt nierówności. Tak naprawdę powierzchnia jest nadal gładka, natomiast pojawiające się na niej refleksje światła sprawiają wrażenie nierówności. Do sekcji opisującej teksturę obiektu należy dodać sekcję normal. Wykorzystując wektory normalne można w prosty sposób modelować różnego rodzaju powierzchnie:

#include "colors.inc" #include "textures.inc" #include "golds.inc" #include "stones.inc" camera { location <0, 0, -5> look_at <0, 0, 0> background{white light_source {<-50, 150,-75> color White light_source {<-0, 10, -10> color White * 1.5 shadowless sphere {0, 0.8 color Red normal {bumps scale 0.1 rotate 45 * x translate -0.5 * x -y sphere {0, 0.8 color Red normal {agate scale 0.1 rotate 45 * x translate -1.3 * x +y box {0, 1 color DarkBrown normal {wood scale 0.1 * z rotate -45 * x translate 1 * x cone { 0,.6, 2 * y, 0 Jade scale 0.5 prism { linear_spline 0, 4, 7 <-1, 0> <1, 0> <0.5, 0.8> <0.45, 0.8> <-0.45, 0.8><-0.5, 0.8> <-1, 0> T_Gold_1A scale 0.5 translate -2 * x rotate -135 * x rys.8. Przykładowe tekstury Mapa pochyłości (ang. slope_map) jest wzorcem wektorów normalnych, który daje użytkownikowi duże możliwości indywidualnego określania nierówności powierzchni. Mapa nierówności może składać się od 2 do 256 sekcji parametrów ujętych w nawiasy: [wartość, <wysokość, nachylenie>]. Pierwszy parametr może zawierać liczby od 0 do 1, jest on porównywany z wartością obliczoną dla każdego punktu obiektu, zależną od jego położenia (podobnie jak przy mapie kolorów). Drugi parametr stanowi wektor przedstawiający wysokość (z przedziału od 0 do 1) oraz nachylenie (z przedziału [-3, 3]). Wartość 1 odpowiada kątowi 45 0. Nachylenie dodatnie odpowiada wznoszeniu się, ujemne opadaniu nierówności powierzchni.

Powtórzenie wzorca plane{z, 0 pigment{ Green normal { gradient x // kierunek gradientu slope_map { [0 <0.5, 1>] // początek pośrodku i wznoszenie się nierówności [0.25 <1.0, 0>] // płasko na szczycie [0.5 <0.5,-1>] // opadanie nierówności do połowy wysokości [0.75 <0.0, 0>] // płasko na dole [1 <0.5, 1>] // wznoszenie się nierówności do połowy wzniesienia rys. 9. Płaszczyzna z mapą pochyłości Mapy wektorów normalnych (ang. Normal Maps) definiuje się analogicznie jak mapy kolorów. Definiujemy podprzedziały (przedziału [0, 1]) i określamy jakie tekstury mają być w nich wykorzystane. Podobnie jak dla mapie kolorów każdemu punktowi obiektu zostaje przyporządkowana wartość z przedziału od 0 do 1. Na podstawie tej wartości wybierana jest odpowiednia tekstura. plane {z, 0 color Green normal { gradient x normal_map { [0.3 bumps ] [0.6 dents] [0.9 marble turbulence 1] * z rotate -45 * x translate 1 * x 3. Wykończenie powierzchni obiektów (ang. finish) Własności wykończenia wpływają na ostateczny wygląd powierzchni. Decydują o takich jej parametrach jak: odbicia światła, cienie, rozbłyski światła na powierzchni itp. Światło otoczenia (ang. ambient) decyduje o jasności obiektu i jest niezależne od oświetlenie sceny. Może być wyrażone przez liczbę z przedziału od 0 do 1 (czym większa wartość tym jaśniejszy obiekt) lub poprzez określenie koloru: finish{ambient 0.4 finish {ambient Red Światło odbite (ang. diffuse) określa jaka ilość światła jest odbijana od powierzchni obiektu. Wartość z przedziału od 0 do 1. 0.5 oznacza, że 50% światła jest odbijana od obiektu.

Odbicie zwierciadlane (ang. highlights) występuje na powierzchniach gładkich. Najczęściej stosuje się model odbicia Phonga. Wartość parametru phong z przedziału od 0 do 1 określa stopień odbicia, natomiast parametr phong_size (wartość z przedziału od 1 do 250) wielkość plamki. finish { phong 0.9 phong_size 50 sphere {0, 0.8 color Red finish { ambient 0.7 phong 0.9 phong_size 150 rotate 45 * x translate -1.3 * x +y rys Przykład odbicia zwierciadlanego