6. Reflectance
Reflectance: ratio of radiance to irradiance
dLr=fr dEi
Ei
qi
Ei
Lr(x,w)
Li(x,wi)
ò= irr dEfL
i
r
r
dE
dL
f =
The surface becomes a light source
S.W.Lee’s slide
irradiance
irradiance
radiance
8. BRDF
dEi
Lr(x,w) qi
Li(x,wi)
Reflectance:
ratio of radiance
to irradiance
ò ò
ò
ò
=
=
=
i i
i
iiiiir
iiir
irr
ddsincosLf
dcosLf
dEfL
f q
w
fqqq
wqiii
r
i
r
r
dcosL
dL
dE
dL
f
wq
==
ú
û
ù
ê
ë
é
sr
1
S.W.Lee’s slide
10. Kajiya’s Rendering equation
• 1986년 Kajiya가 제안
• Surface 위의 한 점에서 일어나는 현상
을 모델링 함.
• Light transport modeling
현재 이미지를 표시할 수 없습니다.
( ', ) ( , ')[ ( , ') ( , ', '') ( ', '') '']
s
I x x g x x e x x x x x I x x dxr= + ò
Jim Kajiya –MSR Graphics director
11. ( ', ) ( , ')[ ( , ') ( , ', '') ( ', '') '']
s
I x x g x x x x x x x I x x dxe r= + ò
( ', ):I x x
( , '):g x x
( , '):x xe
3차원 점 x’에서 x로 전달되는 밝기값
보이는 점인지 아닌지 ( 0=보이지 않음,
1/sqrt( dist(x’-x) )= 보일 때)
x’에서 x로 전달되는 발산(emmittance)되 오는 값.
자기발광(light self-emmitted)해서 나오는 값
12. ( , ', ''):x x xr x’’방향에서 나와 x’에 도달하는 에너지가
x로 퍼지는 에너지의 양
x’’
x’X
( ', ) ( , ')[ ( , ') ( , ', '') ( ', '') '']
s
I x x g x x x x x x x I x x dxe r= + ò
:BRDF를 적용함
13. Kajiya’s equation….
• 반드시 알아야 하는 것
– Surface e()에 의해 발산하는(emit)light
model
– 각 표면의 BRDF r()
– Visibility function의 계산방법
14. Kajiya’s equation….
• Integral
– Analytical한 방법을 쓸 수 없다.
– Monte Carlos방법이나 다른 실질적인 방법이용
• View-independent 문제
– x’ 은 Scene안의 모든 점들이다.
– 그러나 보이지 않는 점들에 대해서도 연산해야 한
다.
• Recursive equation이다.
– I(x, x’)을 계산하려면 I(x’, x’’)을 계산해야 한다.
15. Light transport notation
• 다음의 Notation으로 빛의 흐름을 표시한다.
– L: 광원( light source)
– E: 눈 (eye)
– S: Specular reflection
– D: diffuse reflection
– G: glossy
Ex) LDDSE = 광원에서 2개의 Diffuse reflection을 거치고
눈으로 들어옴
L(S|D)+DE: 광원에서 빛이 나가서 diffuse surface에 반
사되기 전에 하나나 그 이상의 diffuse, specular reflection
이 일어난다.
20. Monte Carlo techniques
• Integration을 효과적으로 하기 위한 방
법
1
0
( )I f x dx= ò
f(x)
0 1
:모든 구간에 대해 다
계산해서 합할 수는
없다. Þsampling해서
적분
1
1
( )
N
i
f
N
x
=
= å
x:sample point
어떻게 sampling 할 것인가?
21. Monte Carlo techniques
• f(x)에서 중요한 구간(Important regions)
을 선택해서 sample함
– p(x): 중요한 구간을 선택하는 함수(PDF와
유사)
– Cumulative function으로 정의가능
1
0
( )
( )
( )
f x
I p x dx
p x
= ò
0
( ) ( )
x
p x p t dt= ò
22. Monte Carlo techniques
• p(x)의 특징
• 일반적으로….
– Normalized absolute value of f(x)
– Approximated f(x)
( ) 0p x > ( ) 1p x dx =ò,
1
( )p x-
, 가 계산가능 할 것
23. Monte Carlo techniques-
Path tracing
• Kajiya가 Rendering equation의 답으로
제시
• Rendering equation을 아래와 같이 다
시 정리
• Neuman series로 재 정리
I g g Ie= + M M:rendering equation의 integral을
linear operator로 재정의
2 3
( ) ( )I g g g g g g ge e e e= + + + +M M M L
1번 부딪힘 2번 부딪힘 3번 부딪힘직접 닿음
26. Monte Carlo techniques-
Path tracing
• 몇 개의 ray를 추적해 갈 것인가?
– Sampling
• # of ray/pixel
• 문제점
– 얼마나 많이 sample할 것인가
• 숫자가 너무 적으면 noise가 생김
– 여러 광원에서 빛이 들어올 때
• BRDF는 1개의 광원에 대해서만 한 것
• 모든 광원에서 나오는 Ray를 추적하기 힘들다.
32. Source
• Point source
– Photon들은 모든 방향으로 균일하게 나간다.
• 광원의 power(W)는 photon안에 골고루 퍼져
있다.
– 각 photon의 Flux= W/#of photons
– 60W광원 Þ100k개의 Photon이 광원이 나오면 Df
=0.6mW의 Flux가 전달 된다.
• Photon은 한번만 보내진다.
33. Photon mapping
• Two-Pass algorithm
– 1)광원에서 Photon을 쏴서 닿는 surface에
기록한다.
– 2)저장된 Photon들의 정보를 모아서 보여
준다.
34. Photon mapping
• Two-Pass algorithm
– 1)광원에서 Photon을 쏴서 닿는 surface에
기록한다.
Store:
• position
• incoming direction
• probability
• color
• ...
35. Photon mapping
• Two-Pass algorithm
– 1)광원에서 Photon을 쏴서 닿는 surface에
기록한다.
Store:
• position
• incoming direction
• probability
• color
• ...
36. Photon mapping
• Two-Pass algorithm
– 1)광원에서 Photon을 쏴서 닿는 surface에
기록한다.
Store:
• position
• incoming direction
• probability
• color
• ...
37. Photon mapping
struct photon = {
float position[3];
rgbe power; // power packed as 4 bytes
char phi, theta; // incoming direction
short flags;
}
Left-balanced kd-tree에 저장
39. Russian Roulette
• Ex) 100의 밝기를 가지는 빛을 0.5만 반
사하는 특성이 있는 매질에 비추면….
– 50의 밝기를 내야 되는데,
…..
….. …..
…..
모든 Photon이 0.5의 밝기를
가지게 하든지…
1의 밝기를 가지는 Photon
50개를 드문드문 뿌리던지
.
.
.
.
50개를
어떻게
골라낼 것
인가?
40. Russian Roulette
• Reflection? Absorption?
p=d // probability of reflection
V=random() // V=[0,1], uniformly distributed
random number
If(V < p)
reflect photon with power Fp
else
photon is absorbed
41. Russian Roulette
Diffuse reflectance:rd
Specular reflectance: rs
rd + rs <= 1
V=random() // V=[0,1], uniformly
distributed
random number
If( 0<V <rd )
reflect photon with power Fp
else
photon is absorbed
Diffuse reflection
42. Russian Roulette
Diffuse reflectance:rd
Specular reflectance: rs
rd + rs <= 1
V=random() // V=[0,1], uniformly
distributed
random number
If( rd <=V < rs +rd )
reflect photon with power Fp
else
photon is absorbed
Specular reflection
43. Photon mapping
• Two-Pass algorithm
– 2)저장된 Photon들의 정보를 모아서 보여
준다.
가장 가까운 photon N개를
찾는다.
이 photon들이 관심 있는
영역을 때린다고 가정
Photon들의 평균 Radiance
를 계산
53. 결론을 내자면…
• 반투명체의 반사특성은 한 점에 대한 모
델이 아닌 주변부과의 에너지 전달문제
를 고려해서 모델을 만들어야 한다.
• Photon mapping은 위의 모델을 쉽게
구현할 수 있게 해줄 것이다.
• Rendering자체보다는 Model을 잘 만들
든지, 측정을 잘하는 방법을 개발하는
것이 필요하다.