← Zpět do přednáškyPGA

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

  1. U normalizovaného směru nastav horní mez na vzdálenost lampy.
  2. Pro neprůsvitný stín použij any-hit v tomto intervalu.
  3. 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.