POV-Ray
Persistence of Vision Ray-Tracer lub POV-Ray jest programem służącym do ray tracingu dla komputerów z systemami Windows, OS X lub GNU/Linux. Wykorzystywany jest głównie do tworzenia grafiki trójwymiarowej. Program udostępniany jest na zasadzie licencji freeware.
Cechą charakterystyczną programu jest wykorzystywanie zaawansowanego języka opisu sceny SDL (ang. Scene Description Language), który jest w zasadzie językiem programowania, zawierającym elementy takie jak m.in. zmienne, tablice, instrukcje warunkowe, pętle, funkcje. Geometrię obiektów definiuje się w nim w sposób parametryczny, dzięki czemu odwzorowanie ich kształtu jest bardzo dokładne, a także możliwe staje się uzyskanie obrazu powierzchni nieskończonych lub bardzo złożonych takich jak np. powierzchnie funkcyjne.
W programie wygląd sceny opisuje się w skrypcie, w którym umieszcza się informacje dotyczące:
- położenia kamery
- oświetlenia
- obiektów w postaci brył i powierzchni
Program umożliwia wygenerowanie sekwencji obrazów do celów animacji.
POV-Ray wykorzystuje obecnie wiele nowoczesnych technik ułatwiających tworzenie sceny i podnoszących realizm obrazu:
- caustics - symulacja załamania światła na nierównej powierzchni, np. na falującej wodzie
- CSG (Constructive Solid Geometry) - wykonywanie operacji logicznych na bryłach
- photon mapping - odwzorowanie przebiegu strumienia światła, pozwala na oddanie zjawisk takich jak np. refrakcja
- radiosity - obliczanie światła rozproszonego
POV-Ray rozwijany jest stale od 1991 r. na bazie wcześniejszego programu o nazwie DKBTrace. Autorzy tworzą grupę POV Team, która dąży do ciągłego unowocześniania technik stosowanych w programie, zwiększenia jego wydajności i zachowania zgodności z poprzednimi wersjami, a także pomiędzy wersjami przeznaczonymi dla różnych systemów operacyjnych.
Przykładowy skrypt[edytuj]
#include "colors.inc" global_settings { assumed_gamma 1.0 max_trace_level 5 } camera { location <0.0, 0.5, -4.0> //punkt umieszczenia kamery direction 1.5*z right x*image_width/image_height look_at <0.0, 0.0, 0.0> //punkt na który patrzy (jest skierowana)kamera } sky_sphere { pigment { gradient y color_map { [0.0 rgb <0.6,0.7,1.0>] //określenie koloru (składowe r-czerwony,g-zielony,b-niebieski) [0.7 rgb <0.0,0.1,0.8>] } } } light_source { // wstawienie światła punktowego <0, 0, 0> // pozycja początkowa światła color rgb <1, 1, 1> // kolor światła translate <-30, 30, -30> // przemieszczenie x,y,z } plane { // podłoga w "szachownicę" y, -1 texture { pigment { checker color rgb 1 color blue 1 scale 0.5 } finish{ diffuse 0.8 ambient 0.1 } } } sphere { // błyszcząca kulka 0.0, 1 texture { pigment { color rgb <0.8,0.8,1.0> } finish{ diffuse 0.3 ambient 0.0 specular 0.6 reflection { 0.8 metallic } conserve_energy } } }
Zobacz też[edytuj]
Linki zewnętrzne[edytuj]
- POV-Ray - Persistence of Vision Raytracer - strona domowa programu
- POVCOMP - POV-Ray Competition - strona konkursu na najlepszą grafikę, z cennymi nagrodami
- Internet Raytracing Competition - większość grafik i animacji wykonana przy użyciu POV-Raya
- Andrea Lohmüller + Friedrich A. Lohmüller - grafiki wykonane przy użyciu POV-Raya