Pitanja koja prate video predavanja:
Zašto preslikavamo teksture na 3D objekte? Što time postižemo?
Gdje se vrijednost teksture uvrštava u Phongov model osvjetljavanja?
Postupak preslikavanja teksture
- Koju informaciju moramo pridijeliti svakom vrhu poligona kako bismo ga povezali s teksturom?
- Hoće li veličina piksela iscrtane slike uvijek biti jednaka veličini teksela mape teksture? Prisjetite se da se piksel prvo projicira na površinu objekta, a potom u mapu teksture.
- Zašto nije dovoljno naivno uzeti samo onaj teksel koji se nalazi u središtu projiciranog piksela?
- Koji neželjeni učinak možemo ostvariti naivnim uzorkovanjem teksture?
- Na koje načine možemo uzorkovati teksturu ako su UV koordinate izvan normiranog intervala [0,1]?
- Kako možemo uzorkovati vrijednosti teksture ako ju promatramo izbliza (veličina projiciranog piksela je manja od veličine teksela)?
- Kako možemo uzorkovati vrijednosti teksture ako ju promatramo iz daljine (veličina projiciranog piksela je veća od veličine teksela)?
- Što znači da je tekstura uzorkovana anisotropno?
- Kako se anisotropno uzorkovana tekstura razlikuje od linearno interpolirane teksture?
- Pod kakvim kutevima je razlika posebno izražena?
- Koja su dva pristupa uzorkovanju teksture koja ublažavaju problem preskakanja teksela?
- Koji pristup garantira kvalitetniji uzorak?
- Koji je pristup vremenski isplativiji?
- Koji problem rješavamo uporabom mip-mapa?
- Kako se grade mip-mape?
- U kakvom su omjeru veličine nižih mip-mapa u odnosu na veličinu originalne?
- Kako određujemo iz kojih mip-mape čitamo konačnu boju?
- Koja svojstva ostvarujemo ovom tehnikom?
- Postoji li sklopovska podrška za brže izvođenje?
- Kako se RGB mip-mape zapisuju u jednoj teksturi?
- Koji je postupak sjenčanja osjetljiv na T-spojeve?
- Kako možemo prepoznati da tekstura nije perspektivno ispravno preslikana?
- Nabrojite barem tri metode antialiasinga i po čemu se razlikuju.
- Kako se tekstura preslikava na parametarsku krpicu?
- Za vježbu:
- U 2D nacrtajte očište kamere, slikovnu ravninu žarišne duljine 3cm te 1cm ispred nje dužinu od 5cm pod proizvoljnim malim kutem u odnosu na optičku os (spojište očišta i sredine slikovne ravnine).
- Na dužini uniformno na svakih 0.5cm označite točke rubova teksela te ih zrakama projicirajte na slikovnu ravninu.
- Kako veličina projiciranog teksela ovisi o njegovoj udaljenosti od očišta?
- Ako je veličina piksela u slikovnoj ravnini 0.5cm, koliko će se teksela preslikati u njega?
- Ovisno o broju teksela preslikanih u piksel, iz koje će se dvije mip-mape uzorkovati vrijednost teksture? Pretpostavite da su 1D mip-mape generirane uzastopnim uzorkovanjem po 2 piksela u 1 (1:1, 2:1, 4:1, ...).
- Nacrtajte proizvoljnu Bezierovu krivulju te na njoj označite rubove teksela koji odgovaraju preslikanoj 1D teksturi širine 5 teksela. Koje vrijednosti parametra odgovaraju rubovima teksela?
Preslikavanje teksture na mrežu poligona
- Kako se atlas tekstura preslikava na poligonalnu mrežu?
- Kako se određuju UV koordinate projekcijskih tekstura? Koji problem rješavaju? Koji je nedostatak ovog postupka?
- Navedite bar četiri pristupa projiciranju tekstura.
- Za vježbu:
- Razmislite, kako se razlikuje interpolacija UV koordinata susjednih poligona uzduž njihovog dijeljenog ruba?
- Nacrtajte 2D krug i ispred njega perspektivni projektor 1D teksture širine 5 teksela, koja leži u slikovnoj ravnini projektora.
- Odredite žarišnu duljinu kojom će tekstura u potpunosti biti prikazana na površini kruga. Pretpostavite jediničnu širinu dužine s koje se projicira tekstura (npr. 1cm).
- Označite na krugu rubove projiciranih teksela.
- Možemo li dodavanjem još samo jednog perspektivnog projektora teksturom prekriti čitavu površinu kruga?
Preslikavanje okoliša
- Što postižemo nebom scene (skybox)?
- Kako se mapa kocke (cubemap) preslikava na sferu neba scene?
- Za što se može koristiti?
- O kojem vektoru ovisi koji će se teksel uzorkovati iz neba scene?
- Za vježbu:
- Nacrtajte 2D trokut i oko njega kružnicu koja služi kao okoliš scene s pripadnom mapom okoliša. Unutar okoliša postavite očište i iz njega ispucajte zraku prema trokutu.
- Označite točku presjecišta zrake s trokutom i reflektirane zrake s kružnicom okoliša.
- Odredite indeks teksela mape okoliša, ako je 1D mapa širine 10 teksela ravnomjerno raspoređena, s obilaskom krenuvši od najviše točke okoliša ulijevo.
Proceduralne teksture (hiperteksture)
- Kako su definirane hiperteksture?
- Zašto se nazivaju proceduralnim?
- Što postižemo volumetrijskim teksturama?
- Kako se mogu postići varijacije u hiperteksturama?
- Moraju li biti statične?
- Za vježbu:
- Definirajte funkciju 3D hiperteksture tako da su RGB intenziteti proporcionalni XYZ koordinatama sustava sadržanog u kocki širine 1, centrirane u točki (1,1,1) koja predstavlja srednji intenzitet komponenti (0.5, 0.5, 0.5).
- U prethodnoj funkciji izmijenite funkciju R komponente tako da intenzitet napravi 2 perioda sinusoide unutar zadane kocke. Pripazite na negativne vrijednosti.
Teksture posebne namjene
- Što postižemo mapama svjetla?
- Što je metoda ploča za plakate (billboards)?
- Za što se često koriste?
- Moraju li biti statične orijentacije?
- Moraju li biti statične teksture?
- Što se postiže biomskim teksturama?
- Što postižemo stapanjem tekstura uz prozirnost (alpha blending)?
- Kako glasi relacija za konveksnu kombinaciju boja?
- Je li prethodni operator simetričan (a=b <=> b=a)?
- Kako se kombiniranje tekstura (texture splatting) razlikuje od stapanja tekstura? Kada se koristi?
- Za vježbu:
- Zadane su dvije 1D teksture sivih razina I1=[0.0, 0.25, 0.5, 0.75, 1.0] i I2=[0.25, 0.75, 0.25, 0.75, 0.25], koje se projiciraju na liniju omeđenu točkama T1=(0,0) i T2=(5,0).
- Kojim oblikom zapisa pravca ćete najjednostavnije projicirati teksture?
- Kombinirajte teksture linearnom interpolacijom tako da su u krajnjim točkama aktivne jedino vrijednosti tekstura s pripadnim indeksom. Grafom prikažite rezultantne vrijednosti.
- Je li rezultat očekivan za predzadnji teksel?
- Jesu li rezultantne vrijednosti unutar granica teksela konstantne?
- Bi li rezultat bio različit da smo zamijenili mjesta teksturama?
- Ako su teksturama pridružene prozirnosti a1=0.5 i a2=0.25, stopite teksture I1 i I2 u jednu konveksnom kombinacijom boja. Izračunajte konačnu prozirnost i ispišite vrijednosti teksela.
- Je li rezultat očekivan za predzadnji teksel?
- Bi li rezultat bio različit da smo zamijenili mjesta teksturama?