1 / 1
Dílna: překážka za lampou
- Povrch leží na začátku paprsku a bodové světlo ve vzdálenosti 5 m.
- Překážka ve 3 m světlo zakryje. Překážka v 7 m leží za zdrojem, a proto tento bodový zdroj nestíní.
- Offset počátku volíme na správnou stranu povrchu. V produkční implementaci jej odvozujeme také od chyby výpočtu a měřítka scény.
Nejdřív odhad
Proč test se samým t>0 dává chybný stín?
Postup experimentu
- U normalizovaného směru nastav horní mez na vzdálenost lampy.
- Pro neprůsvitný stín použij any-hit v tomto intervalu.
- Ověř překážku před lampou i za ní a hraniční případy.
shadowRay = Ray(p + offset, normalize(light - p))
blocked = anyHit(shadowRay, tMin, distance(light, p) - tolerance)Kontrolní výsledek a vysvětlení
Bez horní meze přijme i překážku za zdrojem. Any-hit pak odpovídá na jinou otázku, než potřebujeme.
Vyzkoušej a ověř
Model se načte při zobrazení dílny.