POV-Ray
Z Wikipedii, wolnej encyclopedia
POV-Ray (ang. Persistence of Vision Ray-Tracer) – program służący do tworzenia obrazów z użyciem ray tracingu, przeznaczony dla komputerów z systemami Windows, OS X lub GNU/Linux, od wersji 3.7 udostępniany na zasadzie wolnej licencji AGPL[1] Wykorzystywany jest głównie do tworzenia grafiki trójwymiarowej.
Logo programu | |||
Grafika stworzona w programie POV-Ray | |||
Aktualna wersja stabilna | 3.7.0.10 (8 lipca 2021) [±] | ||
---|---|---|---|
Aktualna wersja testowa | 3.8.0-beta.2 (9 sierpnia 2021) [±] | ||
System operacyjny | Windows, OS X, GNU/Linux | ||
Licencja | AGPL | ||
| |||
Strona internetowa |
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 opisywany jest w postaci skryptu, 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 w celu utworzenia 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;
- UV mapping - technika teksturowania.
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.