Shadow mapping

Technology
12 hours ago
8
4
2
Avatar
Author
Albert Flores

Shadow mapping nebo shadow projection je technika používaná pro generování stínů v počítačové grafice. Uvedl ji Lance Williams roku 1978 v práci "Casting curved shadows on curved surfaces".

Zda se nachází daný pixel ve stínu, nebo ne, se zjišťuje dle toho, zda je přímo viditelný z pozice světla.

...
...

Princip metody

Scéna zobrazená z pohledu světla. Shadow map.

Když se díváme z pozice světla směrem, kterým světlo svítí, pak všechny plochy objektů, které vidíme, budou osvětlené, a všechny zakryté plochy zůstanou ve stínu. Tohoto faktu využívá metoda shadow mapping. +more Nejdříve je scéna vykreslena z pohledu světla a do textury se uloží hloubka každého pixelu z tohoto pohledu. Tyto hodnoty jsou zapsány do tzv. shadow mapy. Během finálního vykreslování scény je každý pixel nejdříve transformován do tzv. "light space" (stejný prostor, v kterém byla vykreslena shadow mapa), a zde je hloubka pixelu porovnána s hloubkou uloženou v shadow mapě.

Metoda pak byla a je dále vylepšována. K jejím variantám patří:

Dělení pohledového tělesa

Pro stíny vrhané slunečním svitem se často používají metody, jež rozdělují pohled pozorovatele na menší části. Tyto techniky umožňují lépe využít prostor v shadow mapě. +more Pokud bychom použili na celou hloubku scény jednu shadow mapu, budou její texely, které reprezentují prostor u pozorovatele, výsledně odpovídat většímu počtu pixelů na monitoru, než tomu budu u texelů, jež se použijí pro stínování vzdálenějších částí scény.

Kaskádový shadow mapping

Kaskádové shadow mapy byly představeny společností NVidia v roce 2007. Hlavní změnou v této metodě je, že před vykreslením shadow mapy je pohledové těleso rozděleno na několik částí dle hloubky, a následně je vykreslena shadow mapa pro každou část zvlášť. +more Až během finálního stínování scény se rozhodne, ve které kaskádě stínovaný fragment leží, a pak se použije příslušná shadow mapa.

Paralel-split shadow maps

Paralel-split shadow maps řeší způsob, jakým je scéna dělena do jednotlivých kaskád shadow mapy. Pohledové těleso je rozděleno dle vhodné heuristiky. +more Ať už uniformně (celá hloubka je rozdělena pravidelně), logaritmicky nebo v jejich kombinaci, což se doporučuje.

Sample distribution Shadow Maps

Sample distribution Shadow Maps je technika, jež vylepšuje způsob, jakým je děleno pohledové těleso. K tomu používá informaci z předchozího z-bufferu. +more Nejdříve se analyzuje rozložení hloubek povrchů ve směru od kamery. Poté se pohledové těleso rozdělí pomocí logaritmické heuristiky.

Tato technika si klade za cíl lepší využití prostoru v texturách shadow map. Například při běžném uniformním rozdělení scény dle hloubky se může stát, že z některé kaskády shadow map nebude nakonec využit žádný pixel. +more Toto se může stát v případech, kdy v těchto hloubkách není žádný objekt, který by bylo potřeba stínovat.

5 min read
Share this post:
Like it 8

Leave a Comment

Please, enter your name.
Please, provide a valid email address.
Please, enter your comment.
Enjoy this post? Join Cesko.wiki
Don’t forget to share it
Top