POV-Ray


POV-Ray w encyklopedii

Z Wikipedii, wolnej encyklopedii Przejdź do nawigacji Przejdź do wyszukiwania

POV-Ray (ang. Persistence of Vision Ray-Tracer) – program służący do ray tracingu, przeznaczony dla komputerów z systemami Windows, OS X lub GNU/Linux, udostępniany na zasadzie wolnej licencji GPL Wykorzystywany jest głównie do tworzenia grafiki trójwymiarowej.

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.

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 kod

Scena wygenerowana na podstawie zamieszczonego obok skryptu
#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 kod

Linki zewnętrzne | edytuj kod

Na podstawie artykułu: "POV-Ray" pochodzącego z Wikipedii
OryginałEdytujHistoria i autorzy