Image bm797.GIF Dosah stínu
Objekty
 
Prvek dosah stínu slouží k aktivaci dynamického stínu aktivního objektu. Dynamické stíny jsou stíny vrhané pohybujícími se objekty. Dynamický stín vytváří pouze hlavní osvětlení scény, tj. objekt s číslem 2. Dynamický stín objektu je vytvářen metodou objemového stínu. Nejdříve je vytvořena obrysová křivka objektu (obrys z pohledu světla) a potom je z obrysové křivky vrhnut kuželový stín mající vrchol na opačné straně než se nachází světlo. V místech, kde se kuželový stín setká s jiným objektem, vzniká stín. Stín vzniká i na objektu samotném.
 
Prvek dosahu stínu udává vzdálenost vrcholu kužele stínu od středu objektu. S rostoucí vzdáleností od objektu se rozměr stínu zmenšuje, až v bodě vrcholu stín zmizí úplně. Nastavením dosahu stínu na 0 je stín vypnut (implicitní hodnota).
 
K vytvoření dynamického stínu je využíván tzv. stencil buffer videokarty. Stencil buffer je podporován většinou videokaret pouze pro videomód 32 bitů. Je-li zvolen videomód nepodporující stencil buffer (tj. zpravidla videomód 16 bitů) je použita náhradní technika tvorby stínů pomocí překryvu zjasňujících a ztmavujících ploch. Tato náhradní metoda má vedlejší účinky obzvláště na tmavém pozadí - tvorba barevných závojů táhnoucích se od objektu směrem ke stínu. Proto, nejsou-li stíny striktně vyžadovány, doporučuje se je v jiných videomódech než 32 bitů vypínat. U nejnovějších videokaret bývá stencil buffer podporován již při všech videomódech.
 
Je-li složitost obrysové křivky objektu příliš vysoká oproti bitové hloubce stencil bufferu, může vzniknout efekt segmentování stínu - ve stínu se objevují poruchy. Proto se doporučuje objekt vrhající stín co nejvíce zjednodušit.
 
Další efekt, na který je potřeba při používání dynamického stínu pamatovat, je inverze stínu v případě, že se pozorovatel nachází v místě dopadu stínu. Pozorovatel (kamera) by se proto neměl nikdy dostat do stínu vrhaného objektem.

Plný html kontextový help Petra - Gemtree Software & Dětské programování
Full Html Context Help of The Peter - Gemtree Software & Children Programming