Własny silnik graficzny. Część IV: krwawienie kolorów i miękkie cienie.

30.11.2010 - Robert Kraus
TrudnośćTrudnośćTrudnośćTrudność

Po co właściwie nam to całkowanie?

Wyobraźmy sobie, że funkcja nie jest teraz określona na zbiorze, który jest odcinkiem, tylko na zbiorze kierunków rozpinającym półsferę (tak jak na rysunku poniżej). Będziemy teraz chcieli obliczyć całkę z funkcji określonej na takim zbiorze kierunków, czyli objętość pod wykresem tej funkcji.

Teraz zastanówmy się po co nam taka funkcja, która określona jest na takim półsferycznym zbiorze kierunków. Chcemy symulować krwawienie kolorów oraz miękkie cienie. Będziemy to robić poprzez symulację idealnie rozproszonego odbicia światła. W sytuacji (A) na rysunku poniżej widać przykład idealnie rozproszonego odbicia. Wiązka światła trafia w punkt $ x $, a następnie rozprasza się równomiernie we wszystkie kierunki po półsferze umiejscowionej w punkcie $ x $. W sytuacji (B) z punktu $ y $ docieramy do punktu $ x $ i chcemy obliczyć natężenie światła jakie dociera z punktu $ x $ do punktu $ y $ (wniosek z sytuacji (A) jest taki, że nie ma znaczenia jaki jest kierunek od punktu $ x $ do $ y $). Aby to zrobić, musimy najpierw obliczyć sumaryczne natężenie światła jakie dociera do punktu $ x $ ze wszystkich kierunków po półsferze wokół punktu $ x $ (na rysunku jest to ten falisty obszar ponad brzegiem półsfery), dokonując tego własnie przez całkowanie stochastyczne.

Spójrzmy jeszcze raz jak wygląda scenariusz obliczania oświetlenia. Startujemy z punktu $ x_0 $ (będącego kamerą) i trafiamy promieniem w punkt $ x_1 $. Chcemy obliczyć natężenie światła, które dociera z punktu $ x_1 $ do $ x_0 $, a więc musimy oszacować poprzez całkowanie stochastyczne natężenie światła jakie dociera do punktu $ x_1 $. Losujemy więc z pewnym rozkładem kierunek z półsfery wokół punktu $ x_1 $, a następnie dzielimy natężenie światła przychodzące po wylosowanym kierunku przez gęstość rozkładu z jakim losowaliśmy. Aby obliczyć natężenie światła które przychodzi do punktu $ x_1 $ z wylosowanego kierunku śledzimy promień, trafiamy w punkt $ x_2 $, dla którego musimy zrobić to samo co dla punktu $ x_1 $.

4
Twoja ocena: Brak Ocena: 4 (4 ocen)

Copyright © 2008-2010 Wrocławski Portal Informatyczny

design: rafalpolito.com