Real-TimeNear-Field Global IlluminationBased on a Voxel Model             발표 : 이재윤, ncsoft
목표• Near-field global illumination
목표• With voxelization
장점?• Cost가 geometry complexity 와 무관• 빠른 voxelization 기술이 많이 존재• Screen-space GI 의 artifact 제거  – Blocker나 sender가 화면에서 사라지...
Voxelization• 은 무엇?  다수의 Geometric entities로 구성된 scene          3차원 regular grid space
Voxelization• 종류 – Binary voxelization    • Cell이 Geometry를 표현 하는지 아닌지에 대한 정보만 저장 – Multi-valued voxelization    • Materia...
Voxelization• 본 논문에선… – Texture atlas라는 기법을 이용한 voxelizaiton 적용   • Boundary voxelization의 일종   • Binary(2D Tex) / multi-v...
전체 알고리즘3D modelTexture atlasFill voxel gridRender all voxel
Texture atlas• Texture atlas 란?  – 여러 sub texture 들을 포함한 큰 texture  – Rendering 시 Draw call 감소                            ...
Texture atlas• With Depth peeling  – Peeling?  – 즉, depth의 level 을 기준으로 껍질을 깐다!!
Texture atlas           nearest동일 layer동일 depth
Texture atlas• 추가 정보 – Atlas texture에 해당 pixel의 original world position   추가    • Voxel이 생성될 위치
Voxel grid• Mip-map의 level에 따라 resolution은 변하지만 depth 수(bit 수)는 변하지 않음  – Depth 보존 -> 정확한 depth traversal
Voxel grid• 생성 – Atlas texture의 texel을 읽어옴 – 해당 texel의 world pos.를 grid에서의 위치로  projection – 3D좌표에서 계산해 낸 depth에 대응하는 bit ...
Voxel grid• 생성    – Mip-map : 주변 4-texel의 OR 연산으로 생성         • Mip-map을 이용한 hierarchical traversal을 위해resolution
Voxelization performance• Voxelization Voxel-grid resolution   Time (ms)   Vertices   Atlas resolution       642 x 128    ...
Ray-voxel intersection test• Indirect lighting 시 필요  – 각 voxel 별로 sample direction에 대한 one bound    voxel 계산• Octree 탐색과 유사
Ray-voxel intersection test1. Traversal start : scene에서 ray의 시작지점2. Start voxel을 포함하는 texel의 BB 생성3. BB와 ray의 충돌검사로 ray의 시...
Ray-voxel intersection test – 검사조건   • 충돌(O) : Mip-map--   • 충돌(X) : Mip-map++,            Ray의 시작 점을 BB와의 마지막 충돌 점으로 이동 –...
Ray-voxel intersection test
Ray-voxel intersection test
Ray-voxel intersection test
Ray-voxel intersection test
Ray-voxel intersection test
Ray-voxel intersection test
Ray-voxel intersection test
Near-field indirect illumination• Reflective Shadow Map(RSM) 생성  – Light space 에서 보이는 pixel이 one-bound light   source  – L...
Near-field indirect illumination• For Indirect light   – Receiver x에서 최대 반지름 r에 대해 N개의 Ray 계산   – ray당 1pass씩 여러 패스로 계산하는 ...
Near-field indirect illumination• 𝐿i 의 validation 조건  – Hit-point의 3D 위치와 RSM상의 위치의 거리 < ε     • ε = max(υ, s/cos(α) * z/z...
Near-field indirect illumination               𝜌 𝑋    𝑁                           𝐿 𝑖 𝑋, 𝜔 𝑖 cos 𝜃       𝐿0   𝑋 ≈ 𝜋       ...
Near-field indirect illuminationDiffuse BRDF at X                    𝜔 𝑖 중 visible 한 hit-point의 radiance                  ...
결과• 측정환경 – GTX 570(1280MB RAM) – Indirect light 계산을 위한 blur filter 사용
결과
결과
결과
결과
결과
결론• Voxel기반의 GI 기법 제시  – Real-time near-field illumination 가능  – Interactive GI 가능• 새로운 atlas-based voxelization 제시  – 더불어...
|감사합니다.
Upcoming SlideShare
Loading in …5
×

Real-time near-field global illumination based on a voxel model

1,301 views
1,001 views

Published on

Published in: Technology
0 Comments
2 Likes
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total views
1,301
On SlideShare
0
From Embeds
0
Number of Embeds
1
Actions
Shares
0
Downloads
0
Comments
0
Likes
2
Embeds 0
No embeds

No notes for slide

Real-time near-field global illumination based on a voxel model

  1. 1. Real-TimeNear-Field Global IlluminationBased on a Voxel Model 발표 : 이재윤, ncsoft
  2. 2. 목표• Near-field global illumination
  3. 3. 목표• With voxelization
  4. 4. 장점?• Cost가 geometry complexity 와 무관• 빠른 voxelization 기술이 많이 존재• Screen-space GI 의 artifact 제거 – Blocker나 sender가 화면에서 사라지면 해당 lighting 효과도 사라지는 현상
  5. 5. Voxelization• 은 무엇? 다수의 Geometric entities로 구성된 scene 3차원 regular grid space
  6. 6. Voxelization• 종류 – Binary voxelization • Cell이 Geometry를 표현 하는지 아닌지에 대한 정보만 저장 – Multi-valued voxelization • Material이나 normal등의 추가정보도 cell에 함께 저장 – Boundary voxelization • Object의 surfaces만 표현 – Solid voxelization • Object의 내부까지 채워진 형태로 표현
  7. 7. Voxelization• 본 논문에선… – Texture atlas라는 기법을 이용한 voxelizaiton 적용 • Boundary voxelization의 일종 • Binary(2D Tex) / multi-valued(3D Tex) 모두 적용 가능 • Obj의 형태에 제한이 없음 • 원본 Obj에 미리 uv mapping이 되어있어야 함
  8. 8. 전체 알고리즘3D modelTexture atlasFill voxel gridRender all voxel
  9. 9. Texture atlas• Texture atlas 란? – 여러 sub texture 들을 포함한 큰 texture – Rendering 시 Draw call 감소 Pros. – Texture state switching 감소 – 사용을 위한 uv의 변경이 필요 Cons. – Texture tiling 불가
  10. 10. Texture atlas• With Depth peeling – Peeling? – 즉, depth의 level 을 기준으로 껍질을 깐다!!
  11. 11. Texture atlas nearest동일 layer동일 depth
  12. 12. Texture atlas• 추가 정보 – Atlas texture에 해당 pixel의 original world position 추가 • Voxel이 생성될 위치
  13. 13. Voxel grid• Mip-map의 level에 따라 resolution은 변하지만 depth 수(bit 수)는 변하지 않음 – Depth 보존 -> 정확한 depth traversal
  14. 14. Voxel grid• 생성 – Atlas texture의 texel을 읽어옴 – 해당 texel의 world pos.를 grid에서의 위치로 projection – 3D좌표에서 계산해 낸 depth에 대응하는 bit 을 1로 setting
  15. 15. Voxel grid• 생성 – Mip-map : 주변 4-texel의 OR 연산으로 생성 • Mip-map을 이용한 hierarchical traversal을 위해resolution
  16. 16. Voxelization performance• Voxelization Voxel-grid resolution Time (ms) Vertices Atlas resolution 642 x 128 0.21 24k 2242 1282 x 128 0.27 65k 3682 2562 x 128 0.60 285k 7682 5122 x 128 1.22 790k 12802
  17. 17. Ray-voxel intersection test• Indirect lighting 시 필요 – 각 voxel 별로 sample direction에 대한 one bound voxel 계산• Octree 탐색과 유사
  18. 18. Ray-voxel intersection test1. Traversal start : scene에서 ray의 시작지점2. Start voxel을 포함하는 texel의 BB 생성3. BB와 ray의 충돌검사로 ray의 시작/끝 점 계산 = ray bitmask4. Ray bitmask 와 voxel의 bitmask와의 재귀적 충 돌검사
  19. 19. Ray-voxel intersection test – 검사조건 • 충돌(O) : Mip-map-- • 충돌(X) : Mip-map++, Ray의 시작 점을 BB와의 마지막 충돌 점으로 이동 – 종료조건 • Ray의 길이 == 0 || hit point 존재 – 시작 mip-map level : 사용자 지정 가능
  20. 20. Ray-voxel intersection test
  21. 21. Ray-voxel intersection test
  22. 22. Ray-voxel intersection test
  23. 23. Ray-voxel intersection test
  24. 24. Ray-voxel intersection test
  25. 25. Ray-voxel intersection test
  26. 26. Ray-voxel intersection test
  27. 27. Near-field indirect illumination• Reflective Shadow Map(RSM) 생성 – Light space 에서 보이는 pixel이 one-bound light source – Light position에서의 각 픽셀의 Direct Luminance, position, normal 값 저장
  28. 28. Near-field indirect illumination• For Indirect light – Receiver x에서 최대 반지름 r에 대해 N개의 Ray 계산 – ray당 1pass씩 여러 패스로 계산하는 것이 속도 향상 – Ray별로 first intersection point 계산 • Intersection voxel에서 direct radiance 𝐿i 계산 • back-proj.에 의해 RSM에서의 Hit point의 𝐿i 값 추출 가능
  29. 29. Near-field indirect illumination• 𝐿i 의 validation 조건 – Hit-point의 3D 위치와 RSM상의 위치의 거리 < ε • ε = max(υ, s/cos(α) * z/znear) • υ: voxelization discretization • s: RSM pixel size • α: normal orientation
  30. 30. Near-field indirect illumination 𝜌 𝑋 𝑁 𝐿 𝑖 𝑋, 𝜔 𝑖 cos 𝜃 𝐿0 𝑋 ≈ 𝜋 𝑁 𝑃(𝜔 𝑖 ) 𝑖=0
  31. 31. Near-field indirect illuminationDiffuse BRDF at X 𝜔 𝑖 중 visible 한 hit-point의 radiance 𝜌 𝑋 𝑁 𝐿 𝑖 𝑋, 𝜔 𝑖 cos 𝜃 𝐿0 𝑋 ≈ 𝜋 𝑁 𝑃(𝜔 𝑖 ) 𝑖=0 N sample direction 𝑃(𝜔 𝑖 ) = cos 𝜃 / 𝜋 𝜃 = surface normal과 𝜔 𝑖 의 각 𝑁 𝜌 𝑋 𝐿0 𝑋 ≈ 𝐿 𝑖 𝑋, 𝜔 𝑖 cos 𝜃 𝑁 𝑖=0
  32. 32. 결과• 측정환경 – GTX 570(1280MB RAM) – Indirect light 계산을 위한 blur filter 사용
  33. 33. 결과
  34. 34. 결과
  35. 35. 결과
  36. 36. 결과
  37. 37. 결과
  38. 38. 결론• Voxel기반의 GI 기법 제시 – Real-time near-field illumination 가능 – Interactive GI 가능• 새로운 atlas-based voxelization 제시 – 더불어 개선된 ray-voxel 충돌검사 제시
  39. 39. |감사합니다.

×