4.4. Metode ubrzanja algoritma

 

            Ovaj algoritam prvobitno je zamišljen za rad s visoko složenim razgranatim mrežama kod kojih proračunavanje siluete volumena sjene zahtjeva previše procesorskog vremena, a gotovo je nepotrebno. Naime, kod takvih mreža bolji se rezultati postižu ako se pretpostavi najgori slučaj, odnosno da su svi rubovi svih poligona ujedno i rubovi ovojnice volumena sjene. Tada se ne gubi procesorsko vrijeme na proračunavanje volumena već se koristi unaprijed izrađen model. Taj primjer najbolje je ilustriran modelom stabla. Stablo se sastoji od mnogo grančica i lišća kod kojih bi većina rubova ujedno bili i rubovi ovojnice volumena sjene (otprilike 70%  njih). Međutim, kada se ovaj algoritam koristi na modelima koji nisu toliko razgranati, iscrtavanje mreže volumena sjene koja je sedam puta složenija od originala u većini će slučajeva biti presporo u odnosu na alternativne metode (Heidmannov algoritam). Ako tako visoko složene modele pokušamo pojednostavniti bitno će se narušiti njihov izgled, međutim to u načelu ne vrijedi i za njihove volumene sjena. Ako za izradu mreže volumena sjene koristimo pojednostavljenu verziju originalnog modela koji baca sjenu, izgled sjene neće biti bitno narušen kao što je to prikazano na slikama 4.6. i 4.7. gdje je gotovo nemoguće primijetiti razliku.

 

Slika 4.6. Sjena dobivena korištenjem kompleksne mreže volumena sjene (70112 trokuta).

 

Slika 4.7. Sjena dobivena korištenjem pojednostavljene mreže volumena sjene (10486 trokuta).

 

Modeli koje smo koristili za izradu tih mreža volumena sjene prikazani su na slikama 4.8. i 4.9. Iz njih je lako vidljiv gubitak detalja na originalnom modelu poslije pojednostavljivanja, ali to ne smeta volumenima sjena kod kojih nam nije bitan svaki detalj.

 

Slika 4.8. Složena mreža (10016 trokuta)

 

Slika 4.9. Jednostavna mreža (1498 trokuta)

 

Ako smo već odlučili koristiti pojednostavljeni model za izradu volumena sjene pri korištenju ovog algoritma moramo paziti da je taj pojednostavljeni model malo tanji ili barem jednako «debeo» kao original. Ako se to ne osigura, korištenje algoritma uzrokovati će stvaranje pjega na objektu koji sjeni. Naime, na onim mjestima na kojima su se pjege pojavile zapravo je bačena sjena nevidljivog trokuta pojednostavljenog originalnog modela koji je malo ispupčen u odnosu na originalni trokut koji je trebao bacati sjenu. Te pjege jesno su vidljive na slici 4.10.a. A ako se osigura tanji model za izradu volumena sjene dobivamo ispravnu sjenu prikazanu na slici 4.10.b. Model možemo stanjiti korištenjem alata «uguravanja» (engl. push effect) koji omogućava pomicanje vrhova u smjeru njihovih normala. Taj alat dostupan je u gotovo svim standardnim programima za modeliranje.

 

                    a) pogrešno                                               b) ispravno

Slika 4.10. a) jednostavnija mreža nije uža od originala; b) jednostavnija mreža napravljena je užom od originala.