Modelowanie oświetlenia
Zadanie 2
Wykorzystując biblioteki OpenGL i GLUT napisać program przedstawiający perspektywiczny obraz obiektu przedstawionego na rysunku. Powierzchnie obiektu pokryte są dwoma materiałami o następujących właściwościach:
Materiał nr 1: niebieski matowy (widziany w białym świetle),
Materiał nr 2: szary błyszczący (widziany w białym świetle),
Obiekt należy oświetlić dwoma źródłami światła o następujących parametrach:
Źródło nr 1:
typ: reflektor (ang. spot),
kolor: biały,
natężenie: 1,
kąt odcięcia: 30o,
położenie: zmienne po orbicie kołowej o środku w punkcie S(0,0,0) z możliwością interaktywnej zmiany następujących parametrów:
promienia orbity,
kąta nachylenia orbity do osi OX,
kąta nachylenia orbity do osi OZ,
kierunek świecenia: na obiekt.
Źródło nr 2:
typ: kierunkowe,
kolor: żółty,
natężenie: 0.7,
kierunek świecenia zadany wektorem V(10,10, 10) w układu współrzędnych obserwatora.
Program powinien umożliwiać interaktywne, niezależne włączanie i wyłączanie źródeł światła. Należy również zapewnić użytkownikowi możliwość zmiany położenia obserwatora poprzez podanie następujących parametrów:
odległości obserwatora od środka układu współrzędnych sceny,
wysokości względem płaszczyzny XZ,
kąta obrotu wokół osi OY w zakresie [0o, 360o] z krokiem 1o.
Oświetlony obiekt powinien zawsze znajdować się w centralnej części okna.