Vježbe 7
OpenGL - model osvjetljenja
(Lighting/Illumination model)
Primjer 1: Animacija rotacije stožca s uključenim izvorom svjetlosti. Za ispravno osvjetljenje važni su definicija svojstava i pozicioniranje izvora svjetlosti, definicija svojstava materijala, te konzistentna orijentacija poligona i ispravno definirani vektori normale.
Izvorni kod:
Lstozac.c
U demo programu Lstozac.c mogu se odgovarajućim slovima interaktivno
uključivati/isključivati opcije:
- 'C' - uključuje selektivno odbacivanje
- 'c' - isključuje selektivno odbacivanje
- 'B' - odbacuju se poligoni kojima gledamo stražnju stranu
- 'b' - odbacuju se poligoni kojima gledamo prednju stranu
- 'D' - uključuje provjeru dubine
- 'd' - isključuje provjeru dubine
- 's' - postavlja opciju glatkog sjenčanja
- 'f' - postavlja opciju ravnomjernog sjenčanja
- 'N' - povećava broj poligona
- 'n' - smanjuje broj poligona
- '0' - uključuje svjetlo 0
- '=' - isključuje svjetlo 0
- 'v' - odabir između četiri verzije vektora normala.
7.1. Definirajte vektore normale u modelu valjka iz zadatka 6.1.b. te animirajte rotaciju valjka pod uključenim izvorom svjetlosti.
7.2. Definirajte vektore normale u modelu kugle iz zadatka 6.1.c. te animirajte rotaciju kugle pod uključenim izvorom svjetlosti. Podešavanjem svojstava materijala pokušajte stvoriti privid da se radi o zlatnoj kugli. Također, definirajte svojstva unutarnjih površina, tako da budu vidljive kad se odstrani dio plašta kugle. Konačno, dodajte još jedan izvor svjetlosti koji ima ograničenu kutnu širinu, tj. ponaša se kao reflektor.
7.3. Primijenite sva stečena znanja i osvijetlite model vjetrometra iz zadatka 6.2.