Vježbe 6

Perspektivna projekcija - Poligonski modeli ploha - Selektivno odbacivanje (culling)

Primjer 1: Postavljanje koordinatnog sustava kamere, primjena perspektivne projekcije i stoga (stack) matrica transformacija na primjeru rješenje modificiranog zadatka 4.4 uz pomoć OpenGL rutina - GL-F.c
Modificirani zadatak 4.4.: Mrežom ravnih linija vizualizirajte xz-ravninu, a na nju postavite stilizirano slovo F sačinjeno od devet kocaka. "Krakovi" slova F rotiraju oko vertikalne baze različitim brzinama, a kocke na krajevima vrte se duž osi krakova. Mijenjajte visinu na kojoj se nalazi kamera.
Primjer 2: Crtanja poligona i važnost konzistentne orijentacije poligona kako bi se moglo provesti selektivno odbacivanje (culling), te primjer korištenja spremnika dubine - polikocka.c
U demo programu polikocka.c mogu se odgovarajućim slovima interaktivno uključivati/isključivati opcije:
U momentu kad je kocka najbliže kameri, najbliži kut ulazi u ravninu projekcije i biva odrezan, jer je ravnina projekcije ujedno bliža odrezujuća ploha (clipping plane). To nam omogućava da na trenutak "zavirimo" u kocku i vidimo da li se stražnje plohe kocke iscrtavaju.
6.1. Uz pomoć trokuta (TRIANGLES) i četverokuta (QUADS) konstruirajte modele, te animirajte rotaciju slijedećih geometrijskih tijela:
  1. stožca
  2. valjka
  3. kugle.
Da bi pojedini poligoni bili uočljivi, koristite se različitim bojama. Pazite na orijentaciju poligona, kako bi metodom selektivnog odbacivanja mogli biti odbačeni poligoni nevidljivi za promatrača.
6.2. Korištenjem poligonalnih modela geometrijskih tijela iz zadatka 6.1. konstruirajte i animirajte model vjetrometra (vidi sliku). Za postizanje realističnosti koristite se perspektivnom projekcijom i spremnikom dubine (depth buffer).