Photon Mapping Reference Material The slides have used/adapted - - PowerPoint PPT Presentation
Photon Mapping Reference Material The slides have used/adapted - - PowerPoint PPT Presentation
Photon Mapping Reference Material The slides have used/adapted material from the following references: Slides on Photon Mapping by Jan Kautz (web4.cs.ucl.ac.uk/teaching/4074/archive/.../04_ photon _ maps .pdf) Slides on Photon Mapping by Bill
Reference Material
The slides have used/adapted material from the following references: Slides on Photon Mapping by Jan Kautz (web4.cs.ucl.ac.uk/teaching/4074/archive/.../04_photon_maps.pdf) Slides on Photon Mapping by Bill Clark (http://penguin.ewu.edu/cscd570/2011/PDFNotes/PhotonMapping.pdf)
Photon Mapping
()*+,&-+$&.*/0-/$&"#,)1#+,23)-$#+,
!"#$%&'(!)&"**)+(!&)(,-&,)*",&,'./!'(.&$00$*!% 1'2$*!&$00$*!%&02)3&,'./!&!)&)45$*!&!)&$-$&6&0)2&4)!/& 1'00+%$&"(1&%7$*+,"2&,'./!'(.8
4-5&60-7#+,
0)2&1'00+%$&,'./!&+%$%&)(,-&,)*",&$00$*!%&()&.,)4",& ,'./!'(.8 0)2&%7$*+,"2&,'./!&1)$%&1)&%)3$&.,)4",&,'./!'(.&%'(*$& 2$0,$*!$1&2"-%&*"(&42'(.&4"*#&,'./!&02)3&)!/$2&)45$*!%&6& !/+%&'(&!/$&%7$*+,"2&*)37)($(!&.,)4",&,'./!'(.&'%& 72)9'1$18
Photon Mapping
Ray Tracing
- Cast a ray from the eye through each pixel
- Trace secondary rays (light, reflection, refraction)
Photon Mapping
()$#*+#,-
!"#$%"&!''"()#*%+"#*!#"&,)-!.-/.!#)'".01*#",)!-*021" %2)",)10%2"3,%("!.."%#*),",)10%2'" (%+).'"%2.4"+033/')".01*#021 '&)-/.!,".01*#021"-!2"5)"&,%60+)+"60!"!"*45,0+",)2+),)," #*!#"/')'"5%#*",!+0%'0#4"3%,"#*)"+033/')"#),("!2+",!4" #,!-021"3%,"#*)"'&)-/.!,"#),(7
Photon Mapping
The Rendering Equation (Kajiya '86) x' x'' x
- L(x'->x'') is the total radiance from x'
L x x E x x f x x x L x x V x x G x x dx
r x
( ' '' ) ( ' '' ) ( , ' , '' ) ( ' ) ( , ' ) ( , ' ) " = " + "
#
- f is the BRDF
Photon Mapping
./0123$123$&/4560
><2409?/49<2$?@$ 06E56>49F94@$ CG8.HD$<E$476$=/0E1>6$14$AB
- BDICA-DLCA-ABDMCA-ABD$3N
! " "
r
n
i r
!i
Photon Mapping
!"#$%#&%#'()*"+'(*,#-&#.(/"+(+%0+%)%#'&#.(*"1(2&.*'( )3,''%+)(,2"#.($,+&"4)(0,'*)(&#(,()3%#%(/+"5('*%( 2&.*'()"4+3%('"('*%(%6%7 8%/&#&'&"#)(9('*%($%+'&3%)("/(,(2&.*'(0,'*(3,#(:%;
<(;(,(2&.*'()"4+3% =(;('*%(%6% >(;(,()0%342,+(+%/2%3'&"# 8(;(,(-&//4)%(+%/2%3'&"#
Photon Mapping
CS
!"#$%&&' ("#$%&' )"#$&&%'
! " #
Photon Mapping
()*+#,-.#),&/).-.#),!"#$%&'(#!$)*#$++,-.! .-/(/,-.0
"102!3!-.$!-#!4-#$!-5!1!$6$./+ "107!3!8$#-!-#!4-#$!-5!1$6$./+ "109!3!8$#-!-#!-.$!1!$6$./ "1:1;0!3!(!1!-#!(!1;!$6$./
<)(4*'$!3!=">:?02?<!@@!*(/A!5#-4!',%A/!B,/A!-.$!-#! 4-#$!C,55&+$!-#!+*$D&'(#!#$5'$D/,-.+!E$5-#$!E$,.%! C,55&+$'F!#$5'$D/$C!/-!/A$!$F$G
Photon Mapping
(<=#%&(&>(.4=<&
(<*%+&
Caustic Reflection
Photon Mapping
Introduction
- ! ,1%41%&JT;:&UVK&UW&
- ! G*3.@($14&$"1&$2(%4)#2$&*%6*P*6.(@&
)"#$#%4&
- ! !"#$#%4&13*X16&72#3&@*+"$&4#.2<14&
- ! !"#$#%4&L#.%<1&#Y&4)1<.@(2&
4.27(<14&
- ! !"#$#%4&61)#4*$16&#%&6*Y.41&4.27(<14&
–! 81@6&*%&(&Z?E&4)(=(@&6($(&4$2.<$.21& –! G.27(<14&%116&%#$&L1&)(2(31$12*/16&
- ! !"#$#%4&!"##$!%$&'()'*+%,'%-+!./0'72#3&
1A1&
Photon Mapping
Introduction
Photon Mapping
Introduction
- Store photons
– position + light power + incoming direction
Photon Mapping
Introduction
- Efficiently store photons for fast access
- Use hierarchical spatial structure (kd-tree)
Photon Mapping
Introduction
- Cast primary rays
- For secondary rays
– reconstruct irradiance using k closest photons
- Combine with irradiance caching and other techniques
Photon Mapping
Introduction
Photon Mapping - Caustics
- Special photon map for specular reflection and
refraction
Glass sphere
Photon Mapping
What is a Photon?
!p !"p xp
- ! _&)"#$#%&*&*4&(&)(2=<@1&@*+"$&
$"($&<(22*14&S.^&!"*D!*K&!*H&
–! !#512B&!"*&c&3(+%*$.61&D*%& :(X4H&(%6&<#@#2&$"1&S.^&*$& <(22*14K&4$#216&(4&(%&;TR&$2*)@1& –! !#4*=#%B&!*&c&@#<(=#%&$"1& )"#$#%& –! E*21<=#%B&!*&c&$"1&*%<*61%$& 6*21<=#%&!.&.416&$#&<#3).$1& *22(6*(%<1&
- ! !"#$#%4&P4O&2(A4&
–! !"#$#%4&)2#)#+($1&S.^& –! ;(A4&+($"12&2(6*(%<1&
Photon Mapping
Sources
- ! !#*%$&4#.2<1&
–! !"#$#%4&13*X16&.%*7#23@A&*%&(@@& 6*21<=#%4&
- ! !#512&4#.2<1&D:H&6*4$2*L.$16&
1P1%@A&(3#%+&)"#$#%4&
- ! 0@.^&1(<"&)"#$#%&1M.(@&$#&4#.2<1&
)#512&6*P*616&LA&$#$(@&d&)"#$#%4&
- ! 0#2&1^(3)@1K&(&Wb:&@*+"$&L.@L&5#.@6&
41%6&#.$&(&$#$(@&ebb-&)"#$#%4K& 1(<"&<(22A*%+&(&S.^&!"&bOW&3:&
- ! !"#$#%4&41%$&#.$&#%<1&)12&4*3.@(=#%K&
%#$&<#%=%.#.4@A&(4&*%&2(6*#4*$A&
Photon Mapping
Mixed Surfaces
!d = 50% !s = 30%
- ! '()*+,$-&.+/$&-0$,(1+)&+2%&
%"3(-$&,45042$26-&
–! &!!&7&%"3(-$&)$8$,6+2,$& –! &!"&7&-0$,(1+)&)$8$,6+2,$& –! &!!&9&!"&:&;&<,42-$)/+=42&4*& $2$)>?@&
- ! A$6&!&B$&+&(2"*4)5&)+2%45&/+1($&
*)45&C&64&;&
- ! D*&!&:&!!&6.$2&)$8$,6&%"3(-$&
- ! E1-$&"*&!&:&!!&9&!"&6.$2&)$8$,6&
- 0$,(1+)&
- ! F6.$)G"-$&+B-4)B&
Russian Roulette
Photon Mapping
!"#$#%&'())*%+&*,&(&-&,$(+.&)/#0.,,1
!)%*&+,&-.#"$#/0&)1%&213)3/&45* 2'*$&)"#$#%,&3/#'&$".&4*+"$, 50($$./&)"#$#%,&*%&$".&,0.%.&6&)"#$#%&*%$./(0$*#%,& 7*$"Y.0$, 5$#/.&)"#$#%,&*%&$".&)"#$#%&'() !)%*&',&67#/0&)1%&*13)3/&85*&#/&95:&)95;#/0&<&=#/5"& 9%/$%9#/0 :$&*%$./,.0$*#%&)#*%$,&;&*%,$.(<&0(40=4($*%+&$".& <*33=,.&4*+"$*%+&0#')#%.%$&3/#'&$".&%#/'(4&>.0$#/?& $".&<*33=,.&4*+"$*%+&0#')#%.%$&0#'.,&3/#'&$".& )"#$#%&'()1
Photon Mapping
LTW&])$$&
- ! ^"/$2&+&1+)>$&2(5B$)&4*&04"26-&0;N_N02&"2&XW&
- 0+,$&G$&G+26&64&,1+--"*?&6.$5&+2%&B$&+B1$&64&
5+M$&*+-6&U($)"$-`&
–!a"2%&+11&6.$&04"26-&G"6."2&+&,(B4"%& –!a"2%&+11&6.$&04"26-&G"6."2&+&2$">.B4().44%&4*&+& >"/$2&04"26&
- ! ].$-$&04"26-&+)$&0.4642&04-"=42-&42&-()*+,$-R&
Photon Mapping
LTW&])$$&
- ! J<W&6)$$&"-&b(-6&+2&+#"-&+1">2$%&c'Q&6)$$R&
- ! E+,.& 24%$& 4*& 6.$& 6)$$& -64)$-& +& -$0+)+=2>&
01+2$N&%$\2$%&B?&6.$&5$%"+2&/+1($&+142>&42$& 4*&6.$&,44)%"2+6$-R&&
- ! ].$&1$+/$-&4*&6.$&6)$$&,426+"2&6.$&4)">"2+1&%+6+&
04"26-R&&
Photon Mapping
LTW&])$$&
- ! Y)"6$&0"&d&<#;"N&#V"N&#X"@&
- ! A$6&#be&B$&6.$&5$%"+2&4*&6.$&/+1($-&4*&6.$&b6.&,44)%"2+6$&
<bd;NVNX@R&
- ! '6+)6&G"6.&#;e&G.",.&G"11&0+)==42&6.$&4)">"2+1&-$6&4*&04"26-&
"264&6G4&-$6-&<%"/"%$%&+142>&6.$&f&+#"-@R&
- ! Z4G&+001?&6.$&-+5$&0)4,$%()$&64&$+,.&4*&6.$&1$PT&+2%&)">.6T
- $6-N&$#,$06&24G&-(B%"/"%$&42&#Ve&&
- ! Z4G&+001?&6.$&-+5$&0)4,$%()$&)$,()-"/$1?&64&$+,.&4*&6.$-$&
- (B-$6-&$#,$06&24G&-(B%"/"%$&42&&
- ! L$$0&+001?"2>&6."-&)$,()-"/$1?&(2=1&$+,.&1$+*&4*&6.$&6)$$&
,426+"2-&+&%+6+&04"26R&&
Photon Mapping
Photon Mapping
Photon Mapping
Photon Mapping
Photon Mapping
- ! H'>+..$5<'$&'I'>5'1$&+19+4>'$'E:+;04$
- ! /043'&5$94>91'45$&+19+4>'$9450$94>91'45$I:*$
- ! H'I'>5'1$&+19+4>'$94$5'&,7$0=$94>91'45$I:*$
- ! J:,'&9>+..A$
+19+4>'$'E:+;04$
!A = !r2
Photon Mapping
- ! !"#$./0$/,$+*1$2/,3$4&2/5,$!-$
- ! 6&401$1'"50*$+*&+$+*1$2/,3$
,544"5'2,$+*1$"$'1&41,+$ 7*"+"',8$
- ! 9*1$'5:.14$";$7*"+"',$5,12$;"4$
&$4&2/&'<1$1,=:&+1$"$/,$5,5&>>($ .1+#11'$?@$&'2$?@@8$
!A = !r2
"',-$
A&2/&'<1$1,=:&+1$5,/'0$?@$7*"+"', $ A&2/&'<1$1,=:&+1$5,/'0$?@@$ 7*"+"', $
Photon Mapping
- ! 9""$;1#$7*"+"',$<&5,1$.>544($
41,5>+,$
- ! C/:7>1$&D14&0/'0$74"25<1,$&$."E$
F>+14/'0$";$7*"+"',$
- ! )*"+"',$'1&414$+"$+*1$,&:7>1$
,*"5>2$.1$#1/0*+12$:"41$*1&D/>($
- ! A1,5>+,$/'$&$<"'1$F>+14/'0$";$
7*"+"',$
Photon Mapping
%5>=7>1$)*"+"'$%&7,$
- ! G>".&>$6HCIJKLJ$7*"+"'$:&7$
–! )*"+"'$,=<3,$+"$2/M5,1$,54;&<1$ #"$$."5'<1,$+"$'1E+$,54;&<1$H/;$ /+$,54D/D1,$A5,,/&'$4"5>1N1K$ –! )*"+"',$2"'O+$,=<3$+"$,71<5>&4$ ,54;&<1,$
- ! P&5,=<$6CCLJ$7*"+"'$:&7$
–! !/0*$41,">5="'$ –! 6/0*+$,"54<1$5,5&>>($1:/+,$ 7*"+"',$"'>($/'$2/41<="',$+*&+$ */+$+*1$+*/'0$<41&='0$+*1$<&5,=<$
,$
&<1$
Caustic map photons Global map photons
Photon Mapping
A1'214/'0$
- ! A1'21412$.($0>",,(Q,54;&<1$
2/,+4/.5+12$4&($+4&</'0$
- ! R*1'$4&($*/+,$F4,+$2/M5,1$
,54;&<1S$
–! P":75+1$2/41<+$/>>5:/'&="'$ –! P":75+1$41T1<+12$4&2/&'<1$ ";$<&5,=<$:&7$7*"+"',$ –! U0'"41$0>".&>$:&7$7*"+"',$ –! U:7"4+&'<1$,&:7>1$VAJB$%!$ &,$5,5&>& –! W,1$0>".&>$7*"+"'$:&7$+"$ /:7"4+&'<1$,&:7>1$/'</21'+$ 4&2/&'<1$;5'<="'$'(& –! XD&>5&+1$41T1<+&'<1$/'+104&>$ .($<&,='0$4&(,$&'2$ &<<5:5>&='0$4&2/&'<1,$;4":$ 0>".&>$7*"+"'$:&7$
B/4,+$2/M5,1$/'+14,1<="'8$ A1+54'$4&2/&'<1$";$<&5,=<$ :&7$7*"+"',$*141Y$.5+$ /0'"41$0>".&>$:&7$7*"+"', $ W,1$0>".&> $ :&7 $ 7*"+"',$+" $ 41+54' $ 4&2/&'<1 $ #*1' $ 1D&>5&='0 $ 6/$&+$F4,+ $ 2/M5,1 $ /'+14,1<="' 8 $
Photon Mapping
J/41<+$U>>5:/'&="'$
www.bennolan.com
G>".&>$)*"+"'$%&7$
www.bennolan.com
Photon Mapping
Photon Mapping
Realistic Image Synthesis Using Photon Mapping Realistic Image Synthesis Using Photon Mapping
Realistic Image Synthesis Using Photon Mapping
Realistic Image Synthesis Using Photon Mapping
Foreword by Pat Hanrahan
Realistic Image Synthesis Using Photon Mapping
Henrik Wann Jensen Jensen
Foreword by Pat HanrahanThe creation of realistic three-dimensional images is central to
computer graphics. Photon mapping, an extension of ray tracing, makes it possible to efficiently simulate global illumination in complex scenes. Photo mapping can simulate caustics (focused light, such as shimmering waves at the bottom of a swimming pool), diffuse inter-reflections (e.g., the `bleeding' of colored light from a red wall onto a white floor, giving the floor a reddish tint), and participating media (e.g., clouds or smoke). This book is a practical guide to photon mapping; it provides both the theory and the practical insight necessary to implement photon mapping and simulate all types of direct and indirect illumination efficiently. A K PETERS LTD.
A K PETERSHenrik Wann Jensen