Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.
Rendering Techniques
Monte Carlo Ray tracing, Photon
mapping
Yoo, Jinho
Department of Media Technology, Sogang University,...
Local illumination
• 빛이 표면에 닿았을 때, 그 표면과 빛의
관계만 계산해서 보여줌.
Ex) OpenGL로
만든 결과
Title
S.W.Lee’s slide
Light, Surface Materials
S.W.Lee’s slide
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 =
...
Reflection Equation
S.W.Lee’s slide
BRDF
dEi
Lr(x,w) qi
Li(x,wi)
Reflectance:
ratio of radiance
to irradiance
ò ò
ò
ò
=
=
=
i i
i
iiiiir
iiir
irr
ddsincosLf
d...
Global illumination
• 빛이 표면에 직접 닿는 것 이외에 간접
적으로 오는 모든 것을 다 계산해서 보
여줌
Ex) BMRT로
만든 결과
Kajiya’s Rendering equation
• 1986년 Kajiya가 제안
• Surface 위의 한 점에서 일어나는 현상
을 모델링 함.
• Light transport modeling
현재 이미지를 표시할 ...
( ', ) ( , ')[ ( , ') ( , ', '') ( ', '') '']
s
I x x g x x x x x x x I x x dxe r= + ò
( ', ):I x x
( , '):g x x
( , '):x ...
( , ', ''):x x xr x’’방향에서 나와 x’에 도달하는 에너지가
x로 퍼지는 에너지의 양
x’’
x’X
( ', ) ( , ')[ ( , ') ( , ', '') ( ', '') '']
s
I x x g x...
Kajiya’s equation….
• 반드시 알아야 하는 것
– Surface e()에 의해 발산하는(emit)light
model
– 각 표면의 BRDF r()
– Visibility function의 계산방법
Kajiya’s equation….
• Integral
– Analytical한 방법을 쓸 수 없다.
– Monte Carlos방법이나 다른 실질적인 방법이용
• View-independent 문제
– x’ 은 Scen...
Light transport notation
• 다음의 Notation으로 빛의 흐름을 표시한다.
– L: 광원( light source)
– E: 눈 (eye)
– S: Specular reflection
– D: d...
Light transport notation
LDSSE
LDSE
LSSDE
Diffuse wall
Transparent
sphere
Ray-Tracing (Whitted)
• 광원에서 시작한 빛이 어떻게 소멸해 가는지 거꾸
로 추적해 나감
Opaque
Semi Transparent object
Light rays
Eye
Initial ray
1 Li...
Ray-Tracing (Whitted)
Monte Carlo techniques
• Integration을 효과적으로 하기 위한 방
법
1
0
( )I f x dx= ò
f(x)
0 1
:모든 구간에 대해 다
계산해서 합할 수는
없다. Þsampling해서
...
Monte Carlo techniques
• f(x)에서 중요한 구간(Important regions)
을 선택해서 sample함
– p(x): 중요한 구간을 선택하는 함수(PDF와
유사)
– Cumulative fun...
Monte Carlo techniques
• p(x)의 특징
• 일반적으로….
– Normalized absolute value of f(x)
– Approximated f(x)
( ) 0p x > ( ) 1p x dx...
Monte Carlo techniques-
Path tracing
• Kajiya가 Rendering equation의 답으로
제시
• Rendering equation을 아래와 같이 다
시 정리
• Neuman ser...
Monte Carlo techniques-
Path tracing
Eye
Light
Ray #1
2 3
( ) ( )I g g g g g g ge e e e= + + + +M M M L
Monte Carlo techniques-
Path tracing
Eye
Light
Ray #2
2 3
( ) ( )I g g g g g g ge e e e= + + + +M M M L
Monte Carlo techniques-
Path tracing
• 몇 개의 ray를 추적해 갈 것인가?
– Sampling
• # of ray/pixel
• 문제점
– 얼마나 많이 sample할 것인가
• 숫자가 너...
Monte Carlo techniques-
Path tracing
10 path/pixel
Monte Carlo techniques-
Path tracing
10 path/pixel(3*3 mask 처리 )
Monte Carlo techniques-
Path tracing
,Mask FilteringNoise줄이려면? : More sample,Better sample
Photon mapping
• Ray를 추적하는 개념이 아니라
Photon(光子)을 surface위에 입히는 것
– Ray:Radiance의 집합
– Photon: flux DF를 전달하는 빛의 조각 하
나
DF
pho...
Flux
• The lines of force of a magnetic fileld
Source
• Point source
– Photon들은 모든 방향으로 균일하게 나간다.
• 광원의 power(W)는 photon안에 골고루 퍼져
있다.
– 각 photon의 Flux= W/#of photons
– 6...
Photon mapping
• Two-Pass algorithm
– 1)광원에서 Photon을 쏴서 닿는 surface에
기록한다.
– 2)저장된 Photon들의 정보를 모아서 보여
준다.
Photon mapping
• Two-Pass algorithm
– 1)광원에서 Photon을 쏴서 닿는 surface에
기록한다.
Store:
• position
• incoming direction
• probabi...
Photon mapping
• Two-Pass algorithm
– 1)광원에서 Photon을 쏴서 닿는 surface에
기록한다.
Store:
• position
• incoming direction
• probabi...
Photon mapping
• Two-Pass algorithm
– 1)광원에서 Photon을 쏴서 닿는 surface에
기록한다.
Store:
• position
• incoming direction
• probabi...
Photon mapping
struct photon = {
float position[3];
rgbe power; // power packed as 4 bytes
char phi, theta; // incoming di...
2종류의 Photon map
Global photon map Caustic photon map
Russian Roulette
• Ex) 100의 밝기를 가지는 빛을 0.5만 반
사하는 특성이 있는 매질에 비추면….
– 50의 밝기를 내야 되는데,
…..
….. …..
…..
모든 Photon이 0.5의 밝기를
가...
Russian Roulette
• Reflection? Absorption?
p=d // probability of reflection
V=random() // V=[0,1], uniformly distributed
r...
Russian Roulette
Diffuse reflectance:rd
Specular reflectance: rs
rd + rs <= 1
V=random() // V=[0,1], uniformly
distributed...
Russian Roulette
Diffuse reflectance:rd
Specular reflectance: rs
rd + rs <= 1
V=random() // V=[0,1], uniformly
distributed...
Photon mapping
• Two-Pass algorithm
– 2)저장된 Photon들의 정보를 모아서 보여
준다.
가장 가까운 photon N개를
찾는다.
이 photon들이 관심 있는
영역을 때린다고 가정
Ph...
Photon mapping
10000 photons / 50 photons
in radiance estimate
Path tracing
1000 paths/pixel
Photon mapping
Participating Media
• 연기, 반투명체의 경우
– Photon을 그냥 입히는 것이 아니라 물체 안
에서 ‘퍼져야’(Scattering)한다.
Participating Media
• Photon tracing
Participating Media
• The Volume photon map
Participating Media
• Volume radiance estimation
Participating Media
• Rendering
Surface scattering
• Ex) Skin, Marble
Surface scattering
a) Skin shader using in ‘Shrek’ b) a)+Surface scattering
결론을 내자면…
• 반투명체의 반사특성은 한 점에 대한 모
델이 아닌 주변부과의 에너지 전달문제
를 고려해서 모델을 만들어야 한다.
• Photon mapping은 위의 모델을 쉽게
구현할 수 있게 해줄 것이다.
• R...
Photon mapping을 하려면
• BMRT
– http://www.exluna.com/products/bmrt/index.html
– Light 조건 줄때, Photon mapping기법이용 가능
– Pixar R...
Rendering techniques
Rendering techniques
Upcoming SlideShare
Loading in …5
×

Rendering techniques

Basic rendering technique including global illumination

Rendering techniques

  1. 1. Rendering Techniques Monte Carlo Ray tracing, Photon mapping Yoo, Jinho Department of Media Technology, Sogang University, Seoul, Korea
  2. 2. Local illumination • 빛이 표면에 닿았을 때, 그 표면과 빛의 관계만 계산해서 보여줌. Ex) OpenGL로 만든 결과
  3. 3. Title S.W.Lee’s slide
  4. 4. Light, Surface Materials S.W.Lee’s slide
  5. 5. 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
  6. 6. Reflection Equation S.W.Lee’s slide
  7. 7. 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
  8. 8. Global illumination • 빛이 표면에 직접 닿는 것 이외에 간접 적으로 오는 모든 것을 다 계산해서 보 여줌 Ex) BMRT로 만든 결과
  9. 9. 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
  10. 10. ( ', ) ( , ')[ ( , ') ( , ', '') ( ', '') ''] 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)해서 나오는 값
  11. 11. ( , ', ''):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를 적용함
  12. 12. Kajiya’s equation…. • 반드시 알아야 하는 것 – Surface e()에 의해 발산하는(emit)light model – 각 표면의 BRDF r() – Visibility function의 계산방법
  13. 13. Kajiya’s equation…. • Integral – Analytical한 방법을 쓸 수 없다. – Monte Carlos방법이나 다른 실질적인 방법이용 • View-independent 문제 – x’ 은 Scene안의 모든 점들이다. – 그러나 보이지 않는 점들에 대해서도 연산해야 한 다. • Recursive equation이다. – I(x, x’)을 계산하려면 I(x’, x’’)을 계산해야 한다.
  14. 14. 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 이 일어난다.
  15. 15. Light transport notation LDSSE LDSE LSSDE Diffuse wall Transparent sphere
  16. 16. Ray-Tracing (Whitted) • 광원에서 시작한 빛이 어떻게 소멸해 가는지 거꾸 로 추적해 나감 Opaque Semi Transparent object Light rays Eye Initial ray 1 Light ray 2 3 Transmitted (refracted) 4 Reflected1 2 3 4
  17. 17. Ray-Tracing (Whitted)
  18. 18. 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 할 것인가?
  19. 19. 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= ò
  20. 20. Monte Carlo techniques • p(x)의 특징 • 일반적으로…. – Normalized absolute value of f(x) – Approximated f(x) ( ) 0p x > ( ) 1p x dx =ò, 1 ( )p x- , 가 계산가능 할 것
  21. 21. 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번 부딪힘직접 닿음
  22. 22. Monte Carlo techniques- Path tracing Eye Light Ray #1 2 3 ( ) ( )I g g g g g g ge e e e= + + + +M M M L
  23. 23. Monte Carlo techniques- Path tracing Eye Light Ray #2 2 3 ( ) ( )I g g g g g g ge e e e= + + + +M M M L
  24. 24. Monte Carlo techniques- Path tracing • 몇 개의 ray를 추적해 갈 것인가? – Sampling • # of ray/pixel • 문제점 – 얼마나 많이 sample할 것인가 • 숫자가 너무 적으면 noise가 생김 – 여러 광원에서 빛이 들어올 때 • BRDF는 1개의 광원에 대해서만 한 것 • 모든 광원에서 나오는 Ray를 추적하기 힘들다.
  25. 25. Monte Carlo techniques- Path tracing 10 path/pixel
  26. 26. Monte Carlo techniques- Path tracing 10 path/pixel(3*3 mask 처리 )
  27. 27. Monte Carlo techniques- Path tracing ,Mask FilteringNoise줄이려면? : More sample,Better sample
  28. 28. Photon mapping • Ray를 추적하는 개념이 아니라 Photon(光子)을 surface위에 입히는 것 – Ray:Radiance의 집합 – Photon: flux DF를 전달하는 빛의 조각 하 나 DF photon Ray
  29. 29. Flux • The lines of force of a magnetic fileld
  30. 30. Source • Point source – Photon들은 모든 방향으로 균일하게 나간다. • 광원의 power(W)는 photon안에 골고루 퍼져 있다. – 각 photon의 Flux= W/#of photons – 60W광원 Þ100k개의 Photon이 광원이 나오면 Df =0.6mW의 Flux가 전달 된다. • Photon은 한번만 보내진다.
  31. 31. Photon mapping • Two-Pass algorithm – 1)광원에서 Photon을 쏴서 닿는 surface에 기록한다. – 2)저장된 Photon들의 정보를 모아서 보여 준다.
  32. 32. Photon mapping • Two-Pass algorithm – 1)광원에서 Photon을 쏴서 닿는 surface에 기록한다. Store: • position • incoming direction • probability • color • ...
  33. 33. Photon mapping • Two-Pass algorithm – 1)광원에서 Photon을 쏴서 닿는 surface에 기록한다. Store: • position • incoming direction • probability • color • ...
  34. 34. Photon mapping • Two-Pass algorithm – 1)광원에서 Photon을 쏴서 닿는 surface에 기록한다. Store: • position • incoming direction • probability • color • ...
  35. 35. 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에 저장
  36. 36. 2종류의 Photon map Global photon map Caustic photon map
  37. 37. Russian Roulette • Ex) 100의 밝기를 가지는 빛을 0.5만 반 사하는 특성이 있는 매질에 비추면…. – 50의 밝기를 내야 되는데, ….. ….. ….. ….. 모든 Photon이 0.5의 밝기를 가지게 하든지… 1의 밝기를 가지는 Photon 50개를 드문드문 뿌리던지 . . . . 50개를 어떻게 골라낼 것 인가?
  38. 38. 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
  39. 39. 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
  40. 40. 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
  41. 41. Photon mapping • Two-Pass algorithm – 2)저장된 Photon들의 정보를 모아서 보여 준다. 가장 가까운 photon N개를 찾는다. 이 photon들이 관심 있는 영역을 때린다고 가정 Photon들의 평균 Radiance 를 계산
  42. 42. Photon mapping 10000 photons / 50 photons in radiance estimate Path tracing 1000 paths/pixel
  43. 43. Photon mapping
  44. 44. Participating Media • 연기, 반투명체의 경우 – Photon을 그냥 입히는 것이 아니라 물체 안 에서 ‘퍼져야’(Scattering)한다.
  45. 45. Participating Media • Photon tracing
  46. 46. Participating Media • The Volume photon map
  47. 47. Participating Media • Volume radiance estimation
  48. 48. Participating Media • Rendering
  49. 49. Surface scattering • Ex) Skin, Marble
  50. 50. Surface scattering a) Skin shader using in ‘Shrek’ b) a)+Surface scattering
  51. 51. 결론을 내자면… • 반투명체의 반사특성은 한 점에 대한 모 델이 아닌 주변부과의 에너지 전달문제 를 고려해서 모델을 만들어야 한다. • Photon mapping은 위의 모델을 쉽게 구현할 수 있게 해줄 것이다. • Rendering자체보다는 Model을 잘 만들 든지, 측정을 잘하는 방법을 개발하는 것이 필요하다.
  52. 52. Photon mapping을 하려면 • BMRT – http://www.exluna.com/products/bmrt/index.html – Light 조건 줄때, Photon mapping기법이용 가능 – Pixar Renderman과 호환, shader programming가능 – WINDOWS/Linux • Renderpark – http://www.cs.kuleuven.ac.be/cwis/research/grap hics/RENDERPARK/ – Scattering, Caustic구현되어 있음 – Linux/Unix – 소스공개

×