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



Podobne dokumenty
Grafika 3D program POV-Ray - 1 -

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.:

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

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

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

Grafika 3D program POV-Ray

Wprowadzenie do rysowania w 3D. Praca w środowisku 3D

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

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

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

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

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

0. OpenGL ma układ współrzędnych taki, że oś y jest skierowana (względem monitora) a) w dół b) w górę c) w lewo d) w prawo e) w kierunku do

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

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

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

Plan wykładu. Akcelerator 3D Potok graficzny

MAZOWIECKI PROGRAM STYPENDIALNY DLA UCZNIÓW SZCZEGÓLNIE UZDOLNIONYCH NAJLEPSZA INWESTYCJA W CZŁOWIEKA 2016/2017

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

STEREOMETRIA CZYLI GEOMETRIA W 3 WYMIARACH

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

Grafika Komputerowa Wykład 4. Synteza grafiki 3D. mgr inż. Michał Chwesiuk 1/30

(1,10) (1,7) (5,5) (5,4) (2,1) (0,0) Grafika 3D program POV-Ray

Ćwiczenie nr 8 - Modyfikacje części, tworzenie brył złożonych

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

Projektowanie graficzne. Wykład 2. Open Office Draw

Grafika 3D program POV-Ray

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

1 Tworzenie brył obrotowych

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:

Edytor tekstu OpenOffice Writer Podstawy

Calisto v hr. Kami Chojnacka. Kurs grafiki 3D

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

Pytania do spr / Własności figur (płaskich i przestrzennych) (waga: 0,5 lub 0,3)

DARMOWA PRZEGLĄDARKA MODELI IFC

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

Grafika 3D program POV-Ray

GEOMETRIA PRZESTRZENNA (STEREOMETRIA)

Podstawowe zasady modelowania śrub i spoin oraz zestawienie najważniejszych poleceń AutoCAD 3D,

Ćwiczenie 3. I. Wymiarowanie

1. Prymitywy graficzne

narzędzie Linia. 2. W polu koloru kliknij kolor, którego chcesz użyć. 3. Aby coś narysować, przeciągnij wskaźnikiem w obszarze rysowania.

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

Plan wykładu. Wykład 3. Rzutowanie prostokątne, widoki, przekroje, kłady. Rzutowanie prostokątne - geneza. Rzutowanie prostokątne - geneza

Materiały pomocnicze do programu AutoCAD 2014

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

Wymagania na poszczególne oceny szkolne z. matematyki. dla uczniów klasy IIIa i IIIb. Gimnazjum im. Jana Pawła II w Mętowie. w roku szkolnym 2015/2016

Rysunek 1: Okno timeline wykorzystywane do tworzenia animacji.

2 Przygotował: mgr inż. Maciej Lasota

IRONCAD. TriBall IRONCAD Narzędzie pozycjonujące

Bartosz Bazyluk SYNTEZA GRAFIKI 3D Grafika realistyczna i czasu rzeczywistego. Pojęcie sceny i kamery. Grafika Komputerowa, Informatyka, I Rok

Poniżej przedstawiono przykład ich zastosowania dla najprostszego obiektu 3D kostki.

Animowana grafika 3D Laboratorium 1

Autodesk 3D Studio MAX Teksturowanie modeli 3D

Ćwiczenie 1 - Modelowanie bryłowe z wykorzystaniem obiektów podstawowych i podstawowych technik modyfikacyjnych

Agnieszka Kamińska, Dorota Ponczek. Matematyka na czasie Gimnazjum, klasa 3 Rozkład materiału i plan wynikowy

Podstawy 3D Studio MAX

Księgarnia PWN: Andrzej Jaskulski - AutoCAD 2010/LT Podstawy projektowania parametrycznego i nieparametrycznego

Kurs ZDAJ MATURĘ Z MATEMATYKI - MODUŁ 13 Teoria stereometria

Przewodnik po soczewkach

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

WSTĘP DO GRAFIKI KOMPUTEROWEJ

Układy współrzędnych GUW, LUW Polecenie LUW

CEL LEKCJI - Poznanie podstawowych zasad użytkowania programu Autodesk 123D Design. - zaprojektowanie breloka dla mamy lub taty.

b) Dorysuj na warstwie pierwszej (1) ramkę oraz tabelkę (bez wymiarów) na warstwie piątej (5) według podanego poniżej wzoru:

Śledzenie promieni w grafice komputerowej

Przygotowanie grafiki 3D do gier komputerowych

Pascal - grafika. Uruchomienie trybu graficznego. Moduł graph. Domyślny tryb graficzny

3.7. Wykresy czyli popatrzmy na statystyki

Dodawanie grafiki i obiektów

Temat lekcji Zakres treści Osiągnięcia uczeń: I. FUNKCJE 14

CIĘCIE POJEDYNCZE MARMUR

BRYŁY PODSTAWOWE I OBIEKTY ELEMENTARNE

Korzystanie z efektów soczewek

Oświetlenie obiektów 3D

TWORZENIE SZEŚCIANU. Sześcian to trójwymiarowa bryła, w której każdy z sześciu boków jest kwadratem. Sześcian

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

Oto przykłady przedmiotów, które są bryłami obrotowymi.

Projektowanie 3D Tworzenie modeli przez wyciągnięcie profilu po krzywej SIEMENS NX Sweep Along Guide

Rys 3-1. Rysunek wałka

ECDL/ICDL CAD 2D Moduł S8 Sylabus - wersja 1.5

Wymiarowanie i teksty. Polecenie:

Wyciągnięcie po linii prostej w ujęciu powierzchniowym w NX firmy Siemens Industry Software

Rok akademicki: 2017/2018 Kod: JFM s Punkty ECTS: 7. Poziom studiów: Studia I stopnia Forma i tryb studiów: Stacjonarne

Obiekty trójwymiarowe AutoCAD 2013 PL

c. Przesuwamy sześcian wzdłuż osi Z o wartość 5

Użycie przestrzeni papieru i odnośników - ćwiczenie

Politechnika Warszawska Wydział Mechatroniki Instytut Automatyki i Robotyki

WYKŁAD 3 WYPEŁNIANIE OBSZARÓW. Plan wykładu: 1. Wypełnianie wieloboku

BLENDER- Laboratorium 1 opracował Michał Zakrzewski, 2014 r. Interfejs i poruszanie się po programie oraz podstawy edycji bryły

PRZEDMIOTOWE ZASADY OCENIANIA I WYMAGANIA EDUKACYJNE Z MATEMATYKI Klasa 3

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

Tworzenie nowego rysunku Bezpośrednio po uruchomieniu programu zostanie otwarte okno kreatora Nowego Rysunku.

str 1 WYMAGANIA EDUKACYJNE ( ) - matematyka - poziom podstawowy Dariusz Drabczyk

Definicja obrotu: Definicja elementów obrotu:

Rys. 1. Rozpoczynamy rysunek pojedynczej części

Gwint gubiony na wale

Dzięki arkuszom zewnętrznym uzyskujemy centralne sterowanie wyglądem serwisu. Zewnętrzny arkusz stylów to plik tekstowy z rozszerzeniem css.

Płaszczyzny, pochylenia, kreator otworów

Transkrypt:

Wykład Pov-Ray

POV-Ray (Persistence of Vision Raytracer) to dostępny na wiele platform I udostępniany na zasadach otwartego kodu renderer budujący obraz metodą śledzenia promieni. Sceny zbudowane dla POV-Ray opisywane są w jego własnym języku (opartym na C++), który bazuje na prostych obiektach geometrycznych i operacjach na CSG. Język ten pozwala dodatkowo na wykorzystywanie pętli i instrukcji warunkowych, zmiennych i tablic, w celu oprogramowania bardziej złożonych powierzchni (instrukcje do programu można znaleźć w samym programie w języku angielskim w zakładce help). Program dodatkowo symuluje różne typy oświetlenia, zjawiska atmosferyczne oraz efekty powierzchniowe. Po opisaniu wszystkich zastosowanych kształtów (położenie, kolory) i ustawieniu kamery pracę kończy się poprzez wykonanie zdjęcia stworzonej scenki. Sceny generowane przy pomocy POV-Ray'a mają fotorealisyczny wygląd. Wpływają na to przede wszystkim nowoczesne techniki tworzenia obrazu, jak: caustics (symulacja załamania światła na nierównej powierzchni), wykonywanie operacji logicznych na bryłach (CSG), photon mapping (technika realistycznego rozkładu oświetlenia ), radiosity (rozkład oświetlenia rozproszonego). Wiele programów do modelowania posiada wbudowany eksport do formatu POV- Ray lub oferuje odpowiednie wtyczki (np. Blender). Program dostępny jest bezpłatnie pod adresem www.pov-ray.org.

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: Zakłada się, że środek monitora to punkt <0,0,0> regulacja w lewoprawo powoduje zmiany na osi x (pierwsza współrzędna), góra-dół to oś y (druga współrzędna), bliżej-dalej to oś z. Na przykład zapis <-3, 2, -4> oznacza przesunięcie w lewo o 3 jednostki, w górę o 2 jednostki i przybliżenie o 4 jednostki. W celu uzyskania obrazu należy zdefiniować następujące elementy: ustawić kamerę (miejsce z którego patrzy obserwator) ustawić źródła światła (przynajmniej jedno inaczej nie zobaczymy utworzonej sceny) stworzyć obiekt

POV-Ray pierwsza scena 3 kule

Efekt uzyskany po zmodyfikowaniu położenia obserwatora (kamery) z zachowaniem punktu, na który skierowany jest jego wzrok.

Tekstury W ramach programu POV-Ray mamy dostęp do biblioteki textures.inc zawierającej zdefiniowane tekstury. Przykład: sphere{ <0,2,3> 1 texture{pigment{brown_agate}} } // brązowy agat sphere{ <-3,2,-3> 1 texture{pigment{clouds}} } // chmury Przykładowe tekstury: Brown_Agate, Pink_Granite, Blue_Agate, Sapphire_Agate, Clouds, FBM_Clouds, Blood_Marble, Jade, Red_Marble, White_Marble, Blood_Sky, Blue_Sky, Blue_Agate, Apocalypse, Pink_Granite, Red_Marble, Sapphire_Agate, White_Marble, Candy_Cane, Peel, Cherry_Wood, Dark_Wood, DMFDarkOak, Tan_Wood, Tom_Wood, White_Wood, Tło rysunku (sceny) Kolor tła można w prosty sposób zmienić poprzez polecenie background. Funkcja ta nie ma żadnych parametrów po za kolorem, gdyż kolor rozchodzi się wszędzie równomiernie. background{color White}

background{color rgb<1,1,1>} Płaszczyzna Definiowanie płaszczyzn stanowi jeden z podstawowych elementów budowy scen 3D. W programie POV-Ray płaszczyzny definiuje się poprzez polecenie plane, którego składnia jest następująca: plane{płaszczyzna, przesunięcie, kolor - wypełnienie} Przykład plane{y, -6 texture{pigment{color Yellow}}} Zdefiniowanie płaszczyzny prostopadłej do osi y i przecinającej ją w punkcie (0,-6,0) wypełnionej barwą żółtą. plane{x, -4, texture{pigment{checker Black, White}}} Zdefiniowanie płaszczyzny prostopadłej do osi x i przecinającej ją w punkcie (-4,0,0) wypełnionej czarno-białą szachownicą.

Prostopadłościan Figurę tę definiujemy słowem box wraz z współrzędnymi dwóch przeciwległych wierzchołków oraz wypełnieniem. Przykład box{<-2,-1,-1> <2,1,1> texture{jade}}

Walec Walec definiujemy poleceniem cylinder podając kolejno współrzędną środka dolnej podstawy, współrzędną środka górnej podstawy, promień walca oraz rodzaj wypełnienia. Przykład cylinder{<0,-4,0> <0,0,0> 1 texture{pigment{color Yellow}}} Stożek Stożek definiujemy poleceniem cone podając kolejno współrzędną środka dolnej podstawy, promień dolnej podstawy, współrzędną środka górnej podstawy, promień górnej podstawy oraz rodzaj wypełnienia. Przykład cone{<0,1,0> 2 <0,3,0> 1 texture{pigment{color Silver}}}

Widok uzyskany po zmianie położenia obserwatora <5,-5.5,-7>oraz otwarciu stożka i walca (rozszerzenie poleceń cylinder i cone o parametr open).

Skalowanie figur Skalowanie figur realizujemy za pośrednictwem funkcji scale podając kolejno współczynniki skalowania po osiach x, y i z. Przykład sphere{<-3,0,0> 1 texture{pigment{color Yellow}} scale<1,2,1>} sphere{<3,0,0> 1 texture{pigment{color Yellow}} scale<1,0.5,1>} cylinder{<0,1,-4> <0,3,-4> 0.25 texture{pigment{color Silver}} scale<2,1,1>}

Polerowanie figur Efekt polerowania uzyskujemy za pośrednictwem polecenia finish poprzez określenie wartości jego dwóch parametrów reflection oraz phong. reflection mówi o stopniu "wypolerowania" kuli (wartość od 0 do 1) im ten parametr bliższy 1, tym bardziej kula przypomina lustro. phong świadczy o stopniu ilości światła na kuli (wartość od 0 do 1) im ten parametr bliższy 1, tym silniej na kuli będzie widać odbicie światła. sphere{<-3,0,0> 1 texture{pigment{color Yellow}} scale<1,2,1> finish{reflection 0.9 phong 0.1}}

Grupowanie Pov-Ray posiada instrukcje grupującą obiekty union, za pomocą której można ustalić szczegóły wypełnień dla grupy obiektów (figur). union{ sphere{<-3,0,0> 1 scale<1,2,1> } sphere{<3,0,0> 1 scale<1,0.5,1>} cylinder{<0,1,-4> <0,3,-4> 0.25 scale<2,1,1> } texture{jade} finish{reflection 0.1 phong 0.8} }

Obracanie Obrót figur uzyskujemy za pośrednictwem polecenia rotate umieszczanego po zakończeniu definicji tekstury a przed ostatnim nawiasem. Parametrami polecenia rotate są kolejno wartości obrotu względem oś x, y i z (każdy obiekt odwraca się przeciwnie do wskazówek zegara). cylinder{<0,-3,0> <0,3,0> 0.6 texture{pigment{color Yellow}} rotate <0,0,45>} cylinder{<0,-2,0> <0,2,0> 0.5 texture{pigment{color Brown}} rotate<60,0,0>}

Inne kształty Trójkąt uzyskujemy za pośrednictwem funkcji triangle. triangle{<-4,-1,-2> <0,-1,-2> <-2,1,0> texture{brown_agate}} Kształt dysku uzyskujemy za pośrednictwem funkcji disc. Jako parametry podajemy kolejno współrzędne środka dysku, wektor umiejscowienia dysku w przestrzeni (płaszczyzna dysku jest prostopadła do podanego wektora), promień zewnętrzny dysku, promień wewnętrzny dysku i cechy tekstury. disc{<0,0,0> <1,0,2> 1.5 0.5 texture{jade}} Wielokąt (figura płaska) uzyskujemy za pośrednictwem polecenia poligon. Jako parametry podajemy kolejno liczbę punktów, współrzędne kolejnych punktów (wszystkie punkty muszą leżeć na jednej płaszczyźnie) oraz parametry tekstury. polygon{4 <2,0,0> <4,-2,0> <4,2,0> <1,3,0> texture{pink_granite}}

Kształt torusu (tzw. obwarzanek) uzyskujemy za pośrednictwem polecenia torus, którego parametrami kolejno są promień torusa, grubość torusa oraz cechy wypełnienia (środek figury automatycznie zostaje określony w punkcie <0,0,0>). torus{3, 1 texture{jade}} Formę prostopadłościanu z wygładzonymi narożnikami uzyskujemy za pośrednictwem polecenia superellipsoid, którego parametrami są kolejno dwie wartości (od 0 do 1) odpowiedzialne za wygładzenie narożników figury (im bliżej 0 tym superellipsoid bardziej przypomina prostopadłościan) oraz parametry wypełnienia. Na etapie tworzenia figura domyślnie jest rozciągana pomiędzy punktami <-1,-1,-1> i <1,1,1> superellipsoid{<0.3, 0.2> texture{pink_granite}}

Widok uzyskany po obróceniu figur (rotate) oraz przeskalowaniu (scale).

Przesuwanie figur Wszystkie dostępne w Pov-Ray figury i bryły geometryczne można przesuwać za pośrednictwem polecenia translate, którego parametrami są współrzędne wektora przesunięcia. Uwaga. W praktyce wszystkie figury tworzy się względem środka układu współrzędnych i po dokonaniu stosownych operacji (np. skalowania, obracania) figury przesuwane są na właściwe miejsce.

Operacje arytmetyczne na figurach Połączenie figur można realizować za pośrednictwem poleceń union oraz merge. Polecenie merge wykorzystuje się w przypadkach gdy grupujemy ze sobą jednocześnie przeźroczyste i przecinające się nawzajem ponieważ w takim przypadku Pov-Ray ignoruje wszystkie ściany znajdujące się we wspólnej przestrzeni co daje efekt spójności bryły. Przykład union { sphere{<0,0,0> 2.2 texture{glass}} cone{<0,0,0> 2 <0,3,0> 0 texture{glass} translate<0,1,0>} cone{<0,0,0> 2 <0,-3,0> 0 texture{glass} translate<0,-1,0>} } merge { sphere{<0,0,0> 2.2 texture{glass}} cone{<0,0,0> 2 <0,3,0> 0 texture{glass} translate<0,1,0>} cone{<0,0,0> 2 <0,-3,0> 0 texture{glass} translate<0,-1,0>} }

Różnica Różnicę czyli w praktyce wycinanie z jednej bryły fragmentu przez inną bryłę (inne bryły) otrzymujemy poprzez zastosowanie polecenia difference. difference{ sphere{<0,0,0> 3 texture{pigment {color Green}} translate<0,-1,0>} cone{<0,0,0> 2 <0,-3,0> 0 texture{pigment {checker Yellow, White}} translate<0,2,0>} cylinder{<0,-5,0> <0,4,0> 0.75 texture{pigment{color Yellow}} rotate<-45,45,-70> translate<1,-1,-2.5>} box{<-1,-1,-1> <1,1,1> texture{jade} translate<2,0,-1>} }

Przypadek, w którym źródło światła zostało umieszczone wewnątrz bryły.

Część wspólna Za pośrednictwem polecenia intersection możemy tworzyć figury, które stanowią część wspólną figur składowych. intersection { difference { sphere{<0,0,0> 3 texture{pigment {color Green}}} sphere{<0,0,0> 2 texture{pigment {color Yellow}}} cylinder{<0,0,0> <0,4,0> 0.75 texture{pigment{color Yellow}} rotate<-45,-45,45>} cylinder{<0,0,0> <0,0,-4> 0.75 texture{pigment{color Yellow}}} cylinder{<0,0,0> <4,0,0> 0.75 texture{pigment{color Yellow}} rotate<0,45,0>} } box{<-4,-2,-1> <4,2,2> texture{jade} translate<2,0,-1>} }

Wstawianie tekstu Do wstawiania tekstu służy instrukcja text, która ma postać: text{tff nazwa_pliku_czcionki, tekst, głębokość, offset, wypełnienie, } Pierwsza litera tekstu domyślnie umieszczana a jest w punkcie <0,0,0>. Parametr głębokość określa szerokość liter w wymiarze z. Parametr offset to wyrażenie wektorowe oznaczające przesunięcie każdej kolejnej litery tekstu o dany wektor w stosunku do jej przewidywanego, oryginalnego położenia. Offset używamy do tworzenia "schodkowych" napisów. Jeżeli wartość offset jest dodatnia każda następna litera będzie wyżej, w przypadku ujemnego offsetu literki będą coraz niżej (offset =0 oznacza napis w poziomie). W przypadku tworzenie napisów rozmiar oraz położenie tekstu ustala się za pośrednictwem poleceń scale, rotate i translate. Przykład text{ttf "Arial.ttf", "Przyklad 1", 1,0 texture{jade}} text{ttf "Arial.ttf", "Przyklad 2", 0.5,0.1 texture{jade} rotate<0,-60,0> translate<-1,2,-4.5>} text{ttf "Arial.ttf", "Przyklad 3", 0.5,0 texture{jade} rotate<60,0,0> translate<0,0,-3>}

Klonowanie obiektów Klonowanie obiektów realizujemy za pośrednictwem polecenia declare. Przykład #declare uklad=union { sphere{<0,0,0> 1 texture{pigment {color Green}} translate<-2,0,0>} sphere{<0,0,0> 1 texture{pigment {color Yellow}} translate<2,0,0>} cylinder{<0,0,0> <4,0,0> 0.5 texture{blue_sky} translate<-2,0,0>} } object{uklad} // wyświetli się pierwszy obiekt object{uklad rotate<0,0,90>} // drugi obiekt object{uklad rotate<0,90,90> translate<-3,0,-2>} object{uklad rotate<0,90,90> translate<4,0,2>} // trzeci obiekt // czwarty obiekt

Łączenie figur Za pośrednictwem polecenie blob dokonujemy połączenia dwóch lub więcej figur w jedną bryłę. Parametr threshold (od 0.001 do 1) odpowiada za płynność połączeń. Podczas definicji elementów składowych należy określić parametr (1,2, ) odpowiedzialny za stopień wygładzenia figury (im większy tym większe okrągłości; np. w przypadku kuli występuje po promieniu). blob{ threshold 0.8 sphere{<0,0,0> 2 1 texture{pigment {color Green}} translate<-2,1,0>} sphere{<0,0,0> 1.5 10 texture{pigment {color Red}} translate<-2,-1,0>} cylinder{<0,-2,0> <0,2,0> 0.75 10 texture{pigment{yellow}} translate<-2,-4,0> } } blob { threshold 0.2 sphere{<0,0,0> 2 1 texture{pigment {color Yellow}} translate<2,1,0>} sphere{<0,0,0> 1.5 10 texture{pigment {color Green}} translate<2,-1,0>} cylinder{<0,-2,0> <0,2,0> 0.75 1 texture{pigment{red}} translate<2,-4,0> } }

Figura obrotowa Powierzchnie obrotowe otrzymujemy poprzez obrót zdefiniowanej krzywej składającej się z kolejnych punktów (pierwszy współrzędne <0,0>; współrzędna z domyślnie przyjmuje 0) wokół osi Y. Bryłę obrotową otrzymujemy poprzez zastosowanie polecenia lathe w połączeniu z metodą linear_spline (punkty łączone są liniowo, występują ostre krawędzie), cubic_spline ( gładkie łącznie punktów) lub quadratic_spline (metoda pośrednia pomiędzy linear_spline a cubic_spline). Przykład lathe { linear_spline 7 <0,0> <2,0> <3,3> <3,5> <2,3> <1,3> <0,6> scale<0.5, 0.5, 0.5> texture{jade} }

W powyższym przypadku zastosowano drugie źródło światła w celu oświetlenia części wklęsłej bryły (od góry).

Ponieważ metoda cubic_spline obcina pierwszy i ostatni punkt w celu zachowania kształtu bryły punkty te są zdublowane (zapisane dwukrotnie).

Bryłę obrotową możemy również otrzymać za pośrednictwem funkcji sor. Funkcjonalność funkcji sor jest zbliżona do funkcji lathe z tym, że sor krócej generuje obiekty kosztem dokładności. Każdy następny punkt musi być na wysokości niemniejszej niż punkt poprzedni. Jeżeli warunek ten nie zostanie spełniony, program zgłosi błąd.

Żarówka (lampa) Za pośrednictwem polecenia looks_like dowolnemu obiektowi możemy nadać właściwości źródła światła (cały obiekt będzie świecił). Przykład #declare lampa=union { blob { threshold 0.8 sphere{<0,0,0> 0.5 1} cylinder{<0,1,0> <0,0,0> 0.5 1} texture{pigment{color White} finish{ambient 0.95}} } cone{<0,0,0> 1 <0,2,0> 0.5 open texture{pigment{color Silver}} translate<0,1,0>} } light_source{<-4,2,4> color White looks_like{lampa} }

Przykłady tekstur i efektów Szachownica czarno-biała pigment{checker Black, White} Trzykolorowa układanka z sześcioboków foremnych pigment{hexagon color Red, White, Green} Efekt nieotynkowanej ściany pigment{brick color Black, Orange rotate<0,0,0>} Efekt plamy benzyny pigment{color Blue} finish{irid {0.8 thickness 0.5 turbulence 0.8}} W przypadku irid najczęściej stosuje się wartości z zakresu od 0.1 do 0.5. Zmiana wartości parametru (najczęściej w zakresie 0.2-1) thickness przynosi efekt zawirowania tęczy kolorów na powierzchni obiektu. Poprzez turbulence ustala się gęstość zawirowań (najczęściej stosuje się wartości z przedziału od 0.2 do 1).

Prism jest figurą leżącą na płaszczyźnie rozpiętej na osi X i Z. Za pośrednictwem funkcji conic_sweep uzyskujemy tzw. rozciąganie stożkowe. Mając do dyspozycji figurę płaską definiujemy zakres rozciągania po osi Y (w przykładzie dwie pierwsze wartości po linear_spline)

Stosowanie tekstur z pliku Przygotowana do zastosowania tekstura powinna znajdować się w pliku o rozszerzeniu png w tym samym katalogu, w którym jest zapisany plik programu Pov-Ray. pigment{image_map { png "nazwa_obrazu.png" map_type 1}} Parametr map_typ1 jest opcjonalny. Jego zastosowanie wymusza naciągnięcie całego obrazu na wskazany element (bryłę, płaszczyznę). Przykład Plik widok.png

Mapa wysokości Mapę wysokości (np. w celu stworzenia krajobrazu górskiego) uzyskujemy za pośrednictwem polecenia height_field. Height_field pobiera plik graficzny (*.tga) z zewnętrznego źródła (plik powinien znajdować się w tym samym katalogu co główny program) i w zależności od koloru każdego piksela określa wysokość obiektu w tym punkcie. Przykład height_field { tga "widok.tga" smooth pigment{color Red} translate<-0.5,-0.7,0.3> scale<15,5,15> }