3.3. Projicirane sjene Projicirane sjene rade na principu projekcije tijela koji sjeni na neku ravninu koju želimo zasjeniti. Uz lažne sjene ovo je jedna od najzastupljenijih metoda za ostvarivanje dinamičkih sjena. Prije samog iscrtavanja sjene, potrebno je odrediti ravninu na koju će ta sjena biti bačena i matricu projekcije na tu ravninu. Nakon toga se u boji sjene iscrta tijelo čiju sjenu želimo stvoriti koristeći izračunatu projekcijsku matricu kao što je prikazano na slici 3.3. Problemi koji se tada javljaju slični su problemima s lažnim sjenama. Sjena visi u zraku, uvlači se pod zidove i općenito ne izgleda dobro na zakrivljenim površinama. Dodatni problem koji se može pojaviti jest poduplavanje sjene budući da tijelo koje baca sjenu ne mora nužno biti konveksno te neki njegovi dijelovi mogu imati sjenu na istom djelu scene. Problem se može riješiti ili korištenjem spremnika za obilježavanje ili korištenjem spremnika prozirnosti (alpha vrijednost) koji je uključen u spremnik slike u pripremi (engl. back buffer). Tada scena sjenu jednog svijetla može primiti samo jednom i efekt poduplavanja sjene je izbjegnut. Slika 3.3. Projicirana sjena. Matrica projekcije za točkasto svijetlo izračunava se na slijedeći način: Pri tome su: [Lx, Ly, Lz, Lw] - vektor pozicije svijetla; A, B, C i D - parametri jednadžbe ravnine A*x + B*y + C*z + D = 0; P - pomoćna varijabla jednaka Lx*A + Ly*B + Ly*C * Lw*D. U ovo vrijeme sve stvarnije grafike ova metoda sve više i više gubi utrku s ostalim metoda kao što su volumeni sjena ili mape sjena. |