3.4. Mape sjene Mape sjene do sada je bila relativno nezastupljena metoda. Problemi koji su je pratili i slaba sklopovska podrška onemogućili su njeno korištenje u stvarnom vremenu. 1978. godine, Williams je predložio ovu metodu uvidjevši da se informacije iz z-spremnika mogu koristiti za dobivanje sjena. Ideja je zapravo jednostavna. Prvo se slika iz perspektive svijetla iscrta spremajući samo njezinu dubinu u z-spremnik. Tada je za svaki slikovni element u z-spremniku sadržana udaljenost najbližeg objekta svjetlu. Nakon toga se sadržaj z-spremnika kopira u teksturu (spremnik) koji ćemo nazvati mapa sjene (engl. shadow map). Da bi iskoristili mapu sjene, scenu iscrtamo još jednom, ali ovaj put iz perspektive promatrača. Prilikom iscrtavanja svake točke scene, uspoređujemo njenu lokaciju s mapom sjene; ako je udaljenost promatrane točke od svjetla veća od vrijednosti u mapi sjene, točka se iscrta zatamnjena; u suprotnom se točka iscrta normalno. Na slici 3.4. prikazana je scena iscrtana ovom metodom, dok je na slici 3.5. prikazana mapa sjene. Tamniji dijelovi su bliži svijetlu, a svjetliji dalji. Slika 3.4. Scena osjenjena mapama sjena Slika 3.5. Mapa sjene Zatamnjivane sjene ne treba se izvršavati tijekom samog iscrtavanja scene. Bolji (stvarniji) rezultati mogu se postići ako se proces iscrtavanja scene podjeli u nekoliko koraka. Nakon što smo odredili mapu sjene, scena se iscrta samo sa ambijentalnim komponentama svjetla. Zatim se testiranjem s mapom sjene izoliraju zasjenjeni dijelovi scene koristeći spremnik za obilježavanje. I na kraju se na ostalim (neobilježenim) dijelovima slike scena iscrta sa svim komponentama boja. Na taj način u prostoru sjene djeluje samo ambijentalna komponenta svjetla i slika izgleda bolje. Nažalost ovaj pristup radi samo kada se koristi jedan izvor svjetlosti. Ako se koristi više izvora, snime se njihove mape sjena, i za svaki se izvor obilježe zasjenjeni dijelovi i zatamne. Lako je zapaziti da ova metoda dobro radi samo sa usmjerenim svjetlom. Ako se koriste točkasti izvori svjetla, snimanje mape sjene postaje znatno kompliciranije. Za svaki je takav izvor potrebno najmanje četiri, ali se u većini slučajeva koristi šest mapa sjena. Problemi s ovim izvorima svjetlosti su znatni budući da izvori djeluju samo na određenim dijelovima scene, dok algoritam pretpostavlja da je cijela scena obuhvaćena. Tehnički problemi algoritma također nisu jednostavni. Ako želimo prihvatljivu sjenu, mapa sjene mora biti veoma visoke razlučivosti. U suprotnom se događaju problemi prikazani slikom 3.6 gdje sjena ne prati oblik tijela koji ju je bacio, a tijelo izgleda kao da lebdi zbog prividnog zadiranja sjene. Ali, ako je mapa sjena previsoke razlučivosti u odnosu na standardni z-spremnik, pojavljuju se problemi prikazani slikom 3.7. Slika 3.6. Problemi pri
korištenju mape sjene niske razlučivosti. Slika 3.7. Problemi pri korištenju mape sjene visoke razlučivosti. Ovisno o tome koliko je kamera blizu nekom tijelu i koliko je izvor svjetlosti udaljen od tog tijela, greške prikazane slikama 3.6. i 3.7. naizmjence će se pojavljivati. Ovaj problem jednostavno nema rješenja što bitno osporava korištenje ove metode. Ako nam je potrebna sva funkcionalnost ove metode, a želimo izbjeći gore navedene probleme, možemo koristiti metodu volumena sjena koja je detaljno objašnjena u slijedećem poglavlju. |
|