Grafika komputerowa

Laboratorium z Grafiki Komputerowej (z dr Jackiem Jarnickim) polegało na tworzeniu różnego rodzaju scen 3D przy zastosowaniu OpenGL-owej biblioteki GLUT oraz udostępnionego nam przez uczelnię Visual Studio 2005.

Mieliśmy do wykonania kilka zadań, o różnej skali trudności. Najbardziej zaawansowane z nich, raytracer, zamieszczam jako załącznik.

Sprawozdanie

raytracing.pdf
ray.cpp

Wyrenderowana choinka

"Ray tracing został zaimplementowany zgodnie z wytycznymi z instrukcji do laboratorium, poniżej znajduje się funkcja Trace, służąca do wyznaczania koloru piksela obrazu wyświetlanego na ekranie. Funkcja jest zagnieżdżana aż do „trafienia” wektora obserwatora w próżnię lub osiągnięcia ustalonego limitu rekurencji. Została tu uwzględniona możliwość wprowadzania na scenę wielu obiektów (z tablicy obiekty) i wielu źródeł światła (z tablicy swiatla) oraz obsługa współczynnika rozpraszania, mającego wpływ na wartość światła odbitego od obiektu.

Druga ze scen, wykonana samodzielnie, demonstruje wszystkie zaawansowane funkcje ray tracera: z tyłu sceny znajduje się duża sfera, pełniąca rolę tła. Pada na nią cień rzucany przez obiekty bliższe obserwatorowi (kształt sfery zakrzywia cień, dodatkowo źródło światła jest ustawione „pod kątem” w stosunku do obserwatora). Współczynnik rozpraszania światła przez sferę został ustawiony na 0.5, dzięki czemu widoczne jest delikatne odbicie choinki wraz z niektórymi przytwierdzonymi do niej elementami. Scena jest oświetlana przez dwa źródła światła położone z obu stron choinki, co jest widocz ne na mających podwójne cienie bombkach. Cała choinka oraz bombka koloru szarego mają zerowy współczynnik rozpraszania - nie widać w nich żadnych odbić."