1 - Temat 1: Ogólne informacje o programie POV-Ray

Transkrypt

1 - Temat 1: Ogólne informacje o programie POV-Ray
Temat 1: Ogólne informacje o programie POV-Ray. Interfejs programu. Ustawienie kamery i świateł.
Podstawowe obiekty 3D, ich położenie, kolory i tekstura oraz przezroczystość.
Skrót POV-Ray to rozwinięcie nazwy The Persistence of Vision™ Ray-Tracer. POV-Ray pozwala
na opis różnych obiektów za pomocą wiersza poleceń Kiedy już opiszemy wszystkie kształty, ich
położenie, kolory itd. Możemy ustawić kamerę i zlecić programowi wykonanie zdjęcia stworzonej przez
nas scenki. Poleceń w POV-Ray jest bardzo dużo; na jego potrzeby stworzono specjalny język oparty na
języku C++. Program dostępny jest bezpłatnie pod adresem www.pov-ray.org.
Zanim przejdziemy do opisu pierwszej sceny niezbędne będzie nam trochę teorii:
Program operuje na opisie obiektów w przestrzeni trójwymiarowej. Każdy element opisuje się trzema
współrzędnymi <x,y,z> , które odpowiadają osiom jak na rysunku poniżej:
Załóżmy, że środek monitora to punkt <0,0,0> regulacja w lewo-prawo powoduje zmiany na osi x
(pierwsza współrzędna), góra-dół to oś y (druga współrzędna), problemy pojawiają się zwykle przy osi z
(trzecia współrzędna), gdyż wbrew intuicji wartości dodatnie z skierowane są w stronę monitora (strzałka
skierowana w naszą stronę to „–z”).Zapamiętajmy zatem, że zapis <1,2,8> oznacza przesunięcie o jeden
w prawo, dwie jednostki w górę i 8 jednostek przed nami („w dal”).
Po uruchomieniu programu pojawi się okno:
Aby utworzyć scenę musimy kolejno:
 wstawić odwołania do bibliotek zawierających definicje kolorów, tekstur i kształtów,
 ustawić kamerę,
 ustawić minimum jedno źródło światła,
 stworzyć obiekty, na które patrzymy.
Grafika 3D – program POV-Ray
-1-
Ćwiczenie 001
W edytorze programu wpisz poniższy kod (nie musisz wpisywać komentarzy):
Kamera została ustawiona w punkcie (-6, 6, -6) i skierowana na początek układu współrzędnych. Źródło
światła ustawiliśmy również w punkcie (-6, 6, -6); światło ma kolor biały (światło słoneczne).
Wstawimy teraz czerwoną kulę o środku w punkcie (0, 0, 0) i promieniu 1. Wpisz dalszą część kodu:
Celem zrenderowania utworzonej sceny zapisz plik na dysku, po czym kliknij na pasku narzędziowym
programu narzędzie
. Ujrzymy zrenderowany obraz:
Tło będzie w domyślnym kolorze czarnym.
Zapamiętaj!
Najprostsza definicja kuli ma postać:
sphere {środek promień
texture {tekstura}
}
Jeśli tekstura jest nazwanym kolorem, to zapisujemy:
pigment {color Nazwa}
przy czym nazwę koloru zaczynamy zawsze od wielkiej litery (wielkość liter ma znaczenie)
Dostępne są między innymi kolory:
 Red,
 Green,
 Blue,
 Yellow,
 Cyan,
 Magenta,
 White,
 Black,
 Gray85, Gray75, Gray50, Gray25, Gray10,
 Orange,
 YellowGreen.
Grafika 3D – program POV-Ray
-2-
Ćwiczenie 002
Do sceny z poprzedniego programu dodaj kilka kul o różnych kolorach, rozmieszczonych jak na rysunku:
Kody kul dodajemy według schematu:
Ćwiczenie 003
Skopiuj kod z ćwiczenia 001, zmień kolor tła poleceniem background i teksturę z koloru na
Cherry_Wood. Zrenderuj scenę:
Kolor tła został ustalony w skali RGB (każda składowa jest liczbą z przedziału 0..1).
Wstawimy jeszcze płaszczyznę (plane) prostopadłą do osi OY i nadamy jej teksturę White_Marble:
Ponownie zrenderuj scenę:
Grafika 3D – program POV-Ray
-3-
Zapamiętaj!
Kolor tła zmienisz wpisując kod:
background{
color rgb< składowa_R, składowa_G, składowa_B >
}
Płaszczyznę prostopadłą do osi wstawiamy poleceniem:
plane{oś, położenie
texture{tekstura}
}
Ćwiczenie 004
Uplastycznimy teraz scenę z poprzedniego ćwiczenia, dodając drugie źródło światła (tym razem będzie to
światło żółte), oraz styl i odblask dla tekstury naszej kuli. Zmieniony kod sceny ma postać:
Zrenderuj scenę:
Zapamiętaj!
Rozjaśnienie i odblask tekstury (lub koloru) obiektu ustalamy poleceniem:
finish { phong parametr_1 reflection parametr_2 }
gdzie oba parametry są liczbami z zakresu 0..1.
finish – opisuje sposób rozchodzenia się, odbijania i przyjmowania światła na obiekcie
phong – opisuje punktowe rozjaśnienia powierzchni obiektu, typowy efekt dla metalowych i szklanych
powierzchni. Wartość domyślna wynosi 0.0, wartość funkcji należy do przedziału <0, 1>, ale można
używać parametrów większych niż 1, w przypadku gdy wartość jest równa 0, nie ma żadnego efektu, gdy
parametr przyjmuje wartość większą od 0, występuje rozjaśnienie.
Grafika 3D – program POV-Ray
-4-
reflection – funkcja symulująca odbicie lustrzane na danym obiekcie. Wartość domyślna wynosi 0.0,
wartość funkcji należy do przedziału <0, 1>, ale można używać parametrów większych niż 1, w
przypadku gdy wartość jest równa 0, nie ma żadnego efektu, gdy parametr przyjmuje wartość większą od
0, występuje efekt odbicia, gdy parametr jest równy 1.0 wówczas mamy idealne lustro.
Ćwiczenie 005
Zmienimy teksturę płaszczyzny z poprzedniego ćwiczenia i funkcji reflection dla tej tekstury
przypiszemy wartość większą od zera. Teraz obiekty będą się odbijały w płaszczyźnie:
Ćwiczenie 006
Wykorzystując poznane możliwości utwórz i zrenderuj poniższą scenę:
Tło ma kolor: color rgb<0.2, 0.2, 1.0>
Płaszczyzna prostopadła do osi Y jest koloru szarego (Gray50) i wartość reflection 0.15.
Kule mają teksturę Cork i promienie odpowiednio 2, 1.5, 1 (licząc od dołu). Np.:
Ćwiczenie 007
Do sceny z poprzedniego ćwiczenia dodaj płaszczyzny trzech ścian otaczających bałwanka:
Grafika 3D – program POV-Ray
-5-
Ćwiczenie 008
Uzupełnij scenę sufitem (na wysokości 9, kolor Gray50):
Musisz też nieco zmienić położenie źródeł światła:
Ćwiczenie 009
Utwórz i wyrenderuj scenę z widoczną piramidą zbudowaną z czterech kul:
Płaszczyźnie prostopadłej do osi Y nadaj teksturę Aluminum (wtedy kule będą się w niej dobrze
odbijać). Kule mają mieć promienie długości 1. Ich środki muszą leżeć w wierzchołkach czworościanu
foremnego o boku 2:
2 6 3
<1,
,
>
3
3
<0,0,0>
<1,0, 3 >
<2,0,0>
Kule mają teksturę Rosewood. Pierwiastek z liczby zapisujemy jako sqrt(liczba), czyli zamiast
2 6
zapiszemy 2*sqrt(6)/3
3
Grafika 3D – program POV-Ray
-6-