WebGL2 kugla i svjetlo
- Animaciju možete po želji pauzirati u svakom trenutku.
- Implementiran je Phongov model osvjetljavanja.
- Gouraud sjenčanje boje vrhova računa u vertex shaderu
i prenosi te boje u fragment shader gdje se obavlja interpolacija tih boja na svaki piksel. Phong sjenčanje boje vrhova
računa u fragment shaderu tako da iz vertex shadera prenosi normale vrhova pa se u fragment shaderu vrši interpolacija
normala na svaki piksel nakon čega se odredi boja za pojedini piksel.
- Programi
1
i 3
koriste Gouraud sjenčanje, a program 2
koristi Phong sjenčanje. Program 1
koristi glatku interpolaciju boja pa dobivamo glatku kuglu, dok program 3
koristi flat interpolaciju boja pa dobivamo popločenu sferu (uz pretpostavku da je uključena opcija buffer1
).
- U WebGL verziji 1.0 nije dostupna flat opcija u shaderu pa se popločena sfera može dobiti drukčijim načinom smještavanja vrhova u buffer. To se postiže korištenjem
buffer2
opcije. Uočite da u tom slučaju sva tri programa daju određene verzije popločene kugle.
- Opcija flat u shaderu je osjetljiva na redoslijed biranja vrhova iz buffera. To je ilustrirano u programu
3
koji koristi tu opciju. Ako je aktivan program 3
i opcija buffer1
, tada se može birati između dvije vrste indeksa, tj. dva različita redoslijeda biranja vrhova iz buffera buffer1
koji daju različita popločenja kugle.
- Možete birati između pozicijskog i usmjerenog svjetla.
- Možete mijenjati poziciju svjetla preko sfernih koordinata. U slučaju usmjerenog svjetla zapravo
mijenjate smjer jer je njegova pozicija u beskonačnosti.
- Možete mijenjati boje materijala i svjetla klikom na odgovarajući kvadratić. Poigrajte se s tim opcijama
uz uključeno ili isključeno svjetlo. Uočite da je kod isključenog svjetla prisutno samo globalno svjetlo iz okoline.
- shininess faktor utječe na sjaj kugle. Ukoliko specular komponentu svjetla ili kugle
postavite na crnu boju, kugla će izgubiti sjaj.
- Boje svjetla i materijala možete vratiti na početne postavke klikom na odgovarajuću tipku.