Nefotorealistični
prikaz objekta

diplomski rad br. 1819
Ante Radman, studeni 2009.    FER

3  Prikaz oblika tonskim mapama

Koncept tonskih mapa osmislili su E. Praun i suradnici [1] za višenamjensko ostvarenje nefotorealističnog prikaza gdje se mogu oponašati estetika rezbarenja, crtanja olovkom, ugljenom, oslikavanje točkicama i slično. Zamisao je bila iskoristiti mogućnosti brzog računalnog teksturiranja umjesto izračunavanja i iscrtavanja svakog osnovnog elementa prikaza zasebno, uz riješena neka pitanja koja su mučila ranija rješenja. Tako je dobiveno jedno zaokruženo i dosljedno rješenje prikaza koje omogućuje i animirano izvođenje u stvarnom vremenu.

3.1  Priprema tekstura

Potezi kistom ili drugi željeni likovni materijal pripremi se i iscrta unaprijed na nizu sličica, za svaku nijansu osvjetljenja posebno i za svaku razinu detalja (veličinu teksture) posebno. Ukupno gledano, gradi se dvodimenzionalna mapa kao na slici 3.1; kasnije će se površina tijela teksturirati tim sličicama slijedeći posebna pravila.


Slika 3.1. tonska mapa; svaki stupac odgovara po jednoj nijansi osvjetljenja, a redak razini detalja za mip-mapping

Najveće sličice su dimenzija 256×256 točaka, sljedeća je razina 128×128 i tako dalje, slijedeći potencije broja 2 do veličine 1×1. Svaka sličica pritom mora biti toroidalna, tj. omogućiti popločavanje svojim vlastitim ponavljanjem bez šavova u smjerovima gore, dolje, lijevo i desno.

Imati što više razina detalja za automatski odabir najprikladnije razine (mip-mapping) je od ključne važnosti u ovoj tehnici, jer pregrubo iscrtani elementi ne ostavljaju dojam tradicionalne tehnike koju se želi oponašati.

3.2  Stapanje

Od velike važnosti je i ostvarenje prostorne i vremenske koherentnosti prikaza. Zahtjev za prostornom koherentnosti, odnosno ispravnog predočavanja oblika, postavlja dva uvjeta: prijelaz s poligona tamnije nijanse na svjetliji poligon mora biti kontinuiran, a prijelaz s više razine detalja na nižu razinu, primjerice prilikom prelaska s područja krupnijih poligona na finije područje s manjim poligonima, ne smije biti previše uočljiv. Vremenska koherentnost, nužna za kvalitetno ostvarenje animacije modela ili osvjetljenja, uvjetuje da prijelaz sa svjetlijeg vrha na tamniji vrh unutar svakog poligona također mora biti gladak.

Ti zahtjevi rješavaju se s jedne strane izvedbom sličica na način da teksture tamnijih nijansi sadrže teksture svjetlijih: sa svakom novom nijansom dodaju se novi potezi kista na već postojeće. Slično je i u vertikalnom smjeru: veće teksture se izvode kao nadskup manjih, osim u slučaju najmanjih tekstura, koje teško mogu imati uopće raspoznatljivu sliku.

Drugi dio rješenja je stapanje više tekstura na svakom poligonu, s ciljem da se u samom sjenčanju ostvari kontinuirani prijelaz s tamnijeg područja na svjetlije te da se izgladi kvantiziranost osvjetljenja, s obzirom da sličice prikazuju samo nekoliko nijansi. Tako je potrebno koristiti zasebne teksture za svaki od triju vrhova poligona, a zatim ostvariti kontinuirani prijelaz među tim teksturama od vrha do vrha, tj. treba ih baricentrično zbrojiti, slično kao u Gouraudovom sjenčanju. Još je potrebno zbog izbjegavanja skokovitih promjena osvjetljenja na svakom od vrhova stopiti dvije teksture – najbližu svjetliju i najbližu tamniju nijansu – u omjeru koji odgovara pravom, nekvantiziranom osvjetljenju vrha. Ukupno tako izvodimo linearno stapanje po šest tekstura na svakom poligonu, što je prikazano na slici 3.2.



Slika 3.2. Stapanje šest slika iz tonske mape na poligonu; svaki stupac od a) do c) odgovara po jednom vrhu i pokazuje dvije najbliže nijanse, koje se stapaju u konačnu nijansu vrha; konačni izgled čitavog poligona je ukupna kombinacija, prikazana sasvim desno u stupcu d)

Uzevši u obzir i mip-mapping, koji se izvodi strojno za svaku teksturu, grafička kartica ima zadatak na svakom poligonu stopiti ukupno 12 tekstura. Iako je to puno posla, u konačnici će poligon ovakvim postupkom sigurno imati traženu estetiku i koherentnost.

3.3  Izračun osvjetljenja

Teksture se iscrtavaju bez OpenGL-ovog ugrađenog osvjetljenja. Premda bi ono ostvarilo bolje performanse, provodi se vlastiti izračun i na temelju dobivenih vrijednosti odabiru se pojedine teksture za neosvijetljeni prikaz.

U fotorealističnom svijetu osvjetljenje se obično računa pomoću difuzne, ambijentne i zrcalne komponente. U ovom slučaju, ambijentna svjetlost je već određena teksturom najtamnijeg tona, dok zrcalna nije nikad ni zaživjela u razmatranim tehnikama crtanja. Stoga računamo samo difuznu komponentu, kao skalarni umnožak normale pojedinog vrha i vektora pogleda prema očištu.

Položaj izvora svjetla se ne preporučuje uzeti kao čvrsto određen jednom točkom u sceni. Umjesto toga, izvor se treba kretati zajedno s očištem, pomaknut za otprilike 45 stupnjeva ulijevo i prema gore. Takvo osvjetljenje je uobičajeno u tradicionalnim, nefotorealističnim ilustracijama, i vjerojatno je najbolji izbor u smislu razumljivog predočavanja oblika tijela.

S obzirom da sličice dijele među sobom iste poteze, konačni efekt je da će približavanjem ili pomicanjem sa svjetla u sjenu na površini tijela neki potezi polagano blijediti ili se pojavljivati novi, dok će većina poteza biti ista. To savršeno odgovara tradicionalnim tehnikama.

3.4  Dodatni zahtjevi

Korištenje anizotropnog filtriranja se pokazuje kao nezaobilazan prateći uvjet za izvedbu ove tehnike, jer dojam prirodnog crtanja rukom može biti potpuno uništen deformacijama koje se javljaju na teksturama na rubnim područjima pod oštrim kutom gledanja. Jedan primjer problematične konfiguracije prikazan je na slici .



Slika 3.3. Prikaz s korištenjem anizotropnog filtriranja i bez njega