Próbkujesz punkt na powierzchni światła — łatwe, jednorodne po polu. Ale rendering equation z Rozdziału 15 integruje po kącie bryłowym, nie po powierzchni. Te dwie gęstości nie są tym samym — i pomylenie ich to jeden z klasycznych, cichych błędów w domowych path tracerach.
TL;DR
Gdy zmieniasz przestrzeń, w której mierzysz gęstość prawdopodobieństwa, musisz przeskalować ją przez jakobian tej zamiany — inaczej estymator z Dodatku V przestaje być nieobciążony.
Dla światła o powierzchni: dω = dA·cosθ'/r² — ten sam wzór, którego cosθ' i r² już widziałeś w Rozdziale 6 i Dodatku T, tylko teraz jako jakobian, nie osobne prawo fizyczne.
Próbkujesz jednorodnie po polu (łatwe), a potem przeliczasz gęstość na kąt bryłowy (żeby wstawić do rendering equation) — nigdy w drugą stronę.
Pass: Problem
Dwie gęstości, jeden punkt
Wylosowałeś punkt na dysku światła jednorodnie po powierzchni — gęstość p_A jest stała, równa 1 przez całkowitą powierzchnię. Ale w rendering equation z Rozdziału 15 całkujesz po ω, kącie bryłowym widzianym z punktu trafienia — a ta sama fizyczna próbka odpowiada różnej gęstości w tej przestrzeni, zależnej od odległości i kąta, pod jakim światło jest nachylone.
dω = dA · cosθ' / r²θ' — kąt między normalną powierzchni światła a kierunkiem do punktu trafienia; r — odległość; ten wzór to jakobian zamiany dA→dω
Wynik: ta sama próbka ma gęstość 0,3183 w mierze powierzchni, ale 9,189 w mierze kąta bryłowego.
To nie błąd zaokrąglenia — to dwie naprawdę różne liczby, opisujące ten sam fizyczny punkt w dwóch różnych przestrzeniach.
Z praktyki
To dosłownie to, co dzieje się w każdym „Area Light Sampler” w Arnoldzie, RenderManie czy Cyclesie: silnik próbkuje punkt po powierzchni światła (bo to naturalna, łatwa parametryzacja), a potem automatycznie mnoży przez ten jakobian, zanim wynik wejdzie do estymatora z Dodatku V. Jeśli pisałeś kiedyś własny path tracer i renderowane światła powierzchniowe wychodziły systematycznie za jasne albo za ciemne w zależności od odległości — to prawie zawsze pominięty albo źle zaimplementowany właśnie ten wzór.
Słowniczek
Jakobian zamiany zmiennych
Współczynnik przeskalowujący gęstość przy przejściu między przestrzeniami próbkowania.
Gęstość po powierzchni (p_A)
Prawdopodobieństwo na jednostkę powierzchni światła.
Gęstość po kącie bryłowym (p_ω)
Prawdopodobieństwo na jednostkę kąta bryłowego widzianego z punktu trafienia.
To zamyka czwórkę dodatków o fundamentach fizycznych i Monte Carlo (T, U, V, W) — radiometria, kąt bryłowy, estymatory i teraz jakobiany. Wszystko, co Rozdziały 6, 15 i 16 robiły „intuicyjnie”, ma teraz formalne uzasadnienie.