SlideShare a Scribd company logo
1 of 47
Download to read offline
Real-Time Global Illumination
Techniques

                  이장호 jangho.lee@gmail.com

                KASA Open Seminar, 2011.06.12
개요

 Global Illumination 소개

 Real-Time / for Games

 Indirect Lighting(Inter-reflections) Techniques
   – SSGI, RSM, SII, IR, ISM, CLPV

 토의 및 결론
Global Illumination

 Direct Illumination + Indirect Illumination

 Offline Techniques
   – Radiosity
   – Ray Tracing
   – Photon Mapping




                                        Cornell Box, 실제, 렌더링, 차이 [cu98]
Local Illumination vs Global Illumination




      Local Illumination   Global Illumination
Direct, Indirect Illumination




    Direct Illumination




                           Direct + Indirect Illumination, Shrek2



   Indirect Illumination
GI Equation




                                        [sc09]




              L
                  ωr       n       Li

                               θ



                       x
Radiosity

 Radiosity = 단위 시간, 단위 면적당 에너지

 Patch 단위, Form Factor에 의해 면적당 에너지 계산, 누적

 Diffuse-Diffuse Interaction 만 고려




        Radiosity Patches            Form Factor
Ray Tracing

 시야에서 광선 추적 (Reverse, View Dependent)

 Hit Object 마다 Lighting 계산, Reflected or Refracted로 확장

 Path Tracing으로 Indirect Lighting 구현 가능



                   Screen                                     Light

                                Reflected
       Eye


                                                         Refracted
                                Shadowed


               Ray Tracing (Reflected, Refracted, Shadowed)
Photon Mapping

 Light로부터 방출된 Photon 저장, Path Tracing으로 Rendering

 2 Pass: Photon Tracing, Rendering

 Caustics, Sub-Surface Scattering 등에 빠른 계산




         Photon Visualization         Rendering
Real-Time?

 2011년 기준 상용 하드웨어, 상용 제품
   – PC, XBox360, PS3

 Pre-Computed + Direct Illumination이 대세

 기존 GI 알고리즘의 직접 적용
   – 실시간 Ray Tracing은 데모 수준
   – 실시간 Radiosity는 단순화된 씬으로 가속, Enlighten/BF3
   – Offline Renderer에 도움을 주는 역할

 Indirect Illumination에 특화된 적용
   – Diffuse Inter-reflection
   – 1 Bounce
Lighting in Games

 Static Light & Static Geometry
   – Lightmap

 Dynamic Light & Static Geometry
   – PRT

 Static Light & Dynamic Geometry
   – Irradiance Volumes (Point Light Cloud)

 Dynamic Light & Dynamic Geometry
   –   SSGI
   –   RSM, SII
   –   IR, ISM
   –   CLPV
SSGI

 Screen Space Global Illumination [ssdo09]

 SSAO(SSDO)를 Indirect Illumination으로 확장

 D.I. 이후, 인접 Pixel을 간접 광원으로 사용

 1 Bounce

 SSAO 대비 약 30% 추가 비용
   –   SSAO: 58fps
   –   SSGI: 40fps
   –   1024 x768, N=16
   –   nVidia 8800 GTX


                                   SSDO       SSGI
SSGI

 Result
SSGI

 SSAO와 동일한 장단점

 화면 복잡도와 무관한 성능

 잘못된 Occlusion: Depth, 각도

 지역적: 반경 이상의 간접광 표현 못함




         잘못된 Visibility: 각도 변화   잘못된 Occlusion: Depth
RSM

 Reflective Shadow Maps [rsm05]

 Shadow Map을 Indirect Light Source로 활용

 Shadow Map이므로, Light의 Occlusion을 내포

 1 Light source, 1 Bounce

 RSM 생성을 제외하고, 화면 복잡도와 무관, 동일한 성능
RSM

 Light 시점에서 RSM 생성, Depth(Position), Normal, Flux

 각 픽셀을 Light Source로 간주

 Light 시점에서 생성된 RSM




      Depth           Position   Normal   Flux: Bright + Color
RSM

 Fragment Shader(PS)에서 Indirect Illumination 계산




                                           모든 픽셀을 누적




       x의 Indirect Lighting 계산시 참조하는 RSM
RSM

 Gathering
   – Potentially Important Samples
   – polor 좌표계, st(uv)




      월드 분포의 거리가 RSM에서의 분포와 비례       면적당 Weight
RSM

 Result
   – 9.1fps, 512 x 512, N=224, nVidia FX4000




                                        Light 시점에서 생성된 RSM

             최종 렌더링 결과
Splatting Indirect Illumination

 RSM을 Gathering이 아닌 Shooting [sii07]

 Deferred Shading

 Instant Radiosity와 유사, Occlusion이 고려되진 않음




                     Importance Sampling
Instant Radiosity

 VPL(Virtual Point Lights) 기반 [ir97][ir08]

 VPL을 생성하여 Direct, Indirect Light Source로 활용




           Light에서 VPL생성             VPL로부터 Illumination 계산
Instant Radiosity

 Result




           최종 렌더링   VPL 배치
Instant Radiosity

 Light Occlusion
   – Shadow Map을 이용
   – 쉽지만, 비싼 비용




                      각 VPL당 Shadow Maps
Instant Radiosity

 VPL Distribution
   – Path Tracing와 유사
   – Shadow를 포함한 VPL의 누적




  1차 바운스




    …




  4차 바운스



                     렌더링 결과누적
Imperfect Shadow Maps

 Instant Radiosity 기반 [ism08]

 Indirect Lighting은 매우 부드럽게 변함

 VPL의 기여도는 매우 작음
Imperfect Shadow Maps

 Low Quality Depth Maps로 충분
  – Point-Based Rendering으로 Depth Map 생성
Imperfect Shadow Maps

 Point-Based Depth Maps을 이용한 렌더링

 Pull-Push Hole Filling은 인접 Depth를 이용한 평균
Imperfect Shadow Maps

 Result
   – nVidia 8800GTX
Imperfect Shadow Maps

 Result: Bounce
   – 1024 x 1024, nVidia 8800GTX




   14.0fps, 1024 VPL   7.5fps, +256 VPL(bounce)   5.5fps, +256 VPL(bounce) * 2
Imperfect Shadow Maps

 Result: Comparison




       ISM, 11fps, 256^2, 8k VPL   Path Tracing, hours
CLPV

 Cascaded Light Propagation Volumes [clpv09] [clpv10a]
  [clpv10b]

 Propagation Volumes
   – lit surfaces 샘플링, 2차 라이트 소스
   – 3D Grid 안에 Clustering
   – 각각의 셀에 전파




            RSM         3D Cell에 Clustering   전파
CLPV

 Sampling
                               Depth
   – RSM 기반 샘플링




                               Normals




                               Albedo




              Lit Surfel 샘플링       RSM
CLPV

 Clustering




               3D Cell에 Clustering
CLPV

 Propagation




                 VPL


                VPL




                VPL



      RSM              Radiance Volume Clustering
                                                    인접 Cell에 전파, 반복
                       정규화된 Grid Cell에 SH로 표현
CLPV

 Propagation




                0 Iterations, only Injection
CLPV

 Propagation




                4 Iterations after Injection
CLPV

 Propagation




                6 Iterations
CLPV

 Propagation




                8 Iterations
CLPV

       Depth




       Normals




       Albedo
CLPV

 Cascaded
  –   Multi-Resolution Approach
  –   Cascaded Shadow Maps와 유사
  –   근접한 곳에 더 디테일한 정보
  –   렌더링시에 해상도별 동시 참조




                                  3단계 Cascaded LPV
CLPV




       Global Illumination Off
CLPV




       Global Illumination On / 1 LPV
CLPV




       Global Illumination On / 3 LPVs
CLPV

 높은 성능
   –   32^3 Grid, 8 Iterations, 1280 x 720
   –   GTS250 2.4ms (RSM 256 x 256)
   –   Xbox360 2.4ms (RSM 128 x 128)
   –   PS3 3.0ms (RSM 128 x 128)
   –   Frame Skipping 및 Camera 변화에 따른 조절로 1~2ms 수준 최적화

 GPU Friendly

 안정적인 결과
   – Scene 복잡도 무관
   – Flicker-Free
토의 및 결론

 Lighting Keywords
   –   Lightmap
   –   Image Based Lighting
   –   Deferred Lighting
   –   Real-Time GI

 환경, 품질, 성능에 따라 선택, 혼용

 GI로 수렴될 것으로 예상?!
참고 문헌

   [cu98] The Cornell Box
    http://www.graphics.cornell.edu/online/box/

   [sc09] Real-Time Global Illumination for Dynamic Scenes,
    Siggraph Course, Carsten Dachsbacher, Jan Kautz, 2009

   [ssdo09] Approximating Dynamic Global Illumination in Screen
    Space, Tobias Ritschel, Thorsten Grosch, Hans-Peter Seidel, I3D,
    2009

   [rsm05] Reflective shadow maps, Carsten Dachsbacher and Marc
    Stamminger, I3D, 2005

   [sii07] Splatting Indirect Illumination, Carsten Dachsbacher and
    Marc Stamminger, 2007
참고 문헌

   [ir97] Instant radiosity, Alexander Keller, SIGGRAPH, 1997

   [ir08] Instant Radiosity An Approach for Real-Time Global
    Illumination, Martin Kinkelin and Christian Liensberger, 2008

   [ism08] Imperfect shadow maps for efficient computation of
    indirect illumination, Tobias Ritschel et al., SIGGRAPH Asia, 2008

   [clpv09] Light Propagation Volumes in CryEngine 3, Anton
    Kaplanyan, SIGGRAPH Course, 2009

   [clpv10a] Real-time Diffuse Global Illumination in CryENGINE 3,
    Anton Kaplanyan, SIGGRAPH Course, 2010

   [clpv10b] Cascaded Light Propagation Volumes for Real Time
    Indirect Illumination, Anton Kaplanyan and Carsten Dachsbacher,
    I3D, 2010

More Related Content

What's hot

Secrets of CryENGINE 3 Graphics Technology
Secrets of CryENGINE 3 Graphics TechnologySecrets of CryENGINE 3 Graphics Technology
Secrets of CryENGINE 3 Graphics TechnologyTiago Sousa
 
Penner pre-integrated skin rendering (siggraph 2011 advances in real-time r...
Penner   pre-integrated skin rendering (siggraph 2011 advances in real-time r...Penner   pre-integrated skin rendering (siggraph 2011 advances in real-time r...
Penner pre-integrated skin rendering (siggraph 2011 advances in real-time r...JP Lee
 
Lighting of Killzone: Shadow Fall
Lighting of Killzone: Shadow FallLighting of Killzone: Shadow Fall
Lighting of Killzone: Shadow FallGuerrilla
 
Physically Based Sky, Atmosphere and Cloud Rendering in Frostbite
Physically Based Sky, Atmosphere and Cloud Rendering in FrostbitePhysically Based Sky, Atmosphere and Cloud Rendering in Frostbite
Physically Based Sky, Atmosphere and Cloud Rendering in FrostbiteElectronic Arts / DICE
 
Optimizing the Graphics Pipeline with Compute, GDC 2016
Optimizing the Graphics Pipeline with Compute, GDC 2016Optimizing the Graphics Pipeline with Compute, GDC 2016
Optimizing the Graphics Pipeline with Compute, GDC 2016Graham Wihlidal
 
Stable SSAO in Battlefield 3 with Selective Temporal Filtering
Stable SSAO in Battlefield 3 with Selective Temporal FilteringStable SSAO in Battlefield 3 with Selective Temporal Filtering
Stable SSAO in Battlefield 3 with Selective Temporal FilteringElectronic Arts / DICE
 
김혁, <드래곤 하운드>의 PBR과 레이트레이싱 렌더링 기법, NDC2019
김혁, <드래곤 하운드>의 PBR과 레이트레이싱 렌더링 기법, NDC2019김혁, <드래곤 하운드>의 PBR과 레이트레이싱 렌더링 기법, NDC2019
김혁, <드래곤 하운드>의 PBR과 레이트레이싱 렌더링 기법, NDC2019devCAT Studio, NEXON
 
Destruction Masking in Frostbite 2 using Volume Distance Fields
Destruction Masking in Frostbite 2 using Volume Distance FieldsDestruction Masking in Frostbite 2 using Volume Distance Fields
Destruction Masking in Frostbite 2 using Volume Distance FieldsElectronic Arts / DICE
 
Deferred Rendering in Killzone 2
Deferred Rendering in Killzone 2Deferred Rendering in Killzone 2
Deferred Rendering in Killzone 2Guerrilla
 
Practical Occlusion Culling in Killzone 3
Practical Occlusion Culling in Killzone 3Practical Occlusion Culling in Killzone 3
Practical Occlusion Culling in Killzone 3Guerrilla
 
Hable John Uncharted2 Hdr Lighting
Hable John Uncharted2 Hdr LightingHable John Uncharted2 Hdr Lighting
Hable John Uncharted2 Hdr Lightingozlael ozlael
 
Paris Master Class 2011 - 07 Dynamic Global Illumination
Paris Master Class 2011 - 07 Dynamic Global IlluminationParis Master Class 2011 - 07 Dynamic Global Illumination
Paris Master Class 2011 - 07 Dynamic Global IlluminationWolfgang Engel
 
Five Rendering Ideas from Battlefield 3 & Need For Speed: The Run
Five Rendering Ideas from Battlefield 3 & Need For Speed: The RunFive Rendering Ideas from Battlefield 3 & Need For Speed: The Run
Five Rendering Ideas from Battlefield 3 & Need For Speed: The RunElectronic Arts / DICE
 
Siggraph2016 - The Devil is in the Details: idTech 666
Siggraph2016 - The Devil is in the Details: idTech 666Siggraph2016 - The Devil is in the Details: idTech 666
Siggraph2016 - The Devil is in the Details: idTech 666Tiago Sousa
 
Graphics Gems from CryENGINE 3 (Siggraph 2013)
Graphics Gems from CryENGINE 3 (Siggraph 2013)Graphics Gems from CryENGINE 3 (Siggraph 2013)
Graphics Gems from CryENGINE 3 (Siggraph 2013)Tiago Sousa
 
Massive Point Light Soft Shadows
Massive Point Light Soft ShadowsMassive Point Light Soft Shadows
Massive Point Light Soft ShadowsWolfgang Engel
 
Terrain Rendering in Frostbite using Procedural Shader Splatting (Siggraph 2007)
Terrain Rendering in Frostbite using Procedural Shader Splatting (Siggraph 2007)Terrain Rendering in Frostbite using Procedural Shader Splatting (Siggraph 2007)
Terrain Rendering in Frostbite using Procedural Shader Splatting (Siggraph 2007)Johan Andersson
 

What's hot (20)

High dynamic range
High dynamic rangeHigh dynamic range
High dynamic range
 
Secrets of CryENGINE 3 Graphics Technology
Secrets of CryENGINE 3 Graphics TechnologySecrets of CryENGINE 3 Graphics Technology
Secrets of CryENGINE 3 Graphics Technology
 
Lighting the City of Glass
Lighting the City of GlassLighting the City of Glass
Lighting the City of Glass
 
Penner pre-integrated skin rendering (siggraph 2011 advances in real-time r...
Penner   pre-integrated skin rendering (siggraph 2011 advances in real-time r...Penner   pre-integrated skin rendering (siggraph 2011 advances in real-time r...
Penner pre-integrated skin rendering (siggraph 2011 advances in real-time r...
 
Lighting of Killzone: Shadow Fall
Lighting of Killzone: Shadow FallLighting of Killzone: Shadow Fall
Lighting of Killzone: Shadow Fall
 
Physically Based Sky, Atmosphere and Cloud Rendering in Frostbite
Physically Based Sky, Atmosphere and Cloud Rendering in FrostbitePhysically Based Sky, Atmosphere and Cloud Rendering in Frostbite
Physically Based Sky, Atmosphere and Cloud Rendering in Frostbite
 
Optimizing the Graphics Pipeline with Compute, GDC 2016
Optimizing the Graphics Pipeline with Compute, GDC 2016Optimizing the Graphics Pipeline with Compute, GDC 2016
Optimizing the Graphics Pipeline with Compute, GDC 2016
 
Stable SSAO in Battlefield 3 with Selective Temporal Filtering
Stable SSAO in Battlefield 3 with Selective Temporal FilteringStable SSAO in Battlefield 3 with Selective Temporal Filtering
Stable SSAO in Battlefield 3 with Selective Temporal Filtering
 
김혁, <드래곤 하운드>의 PBR과 레이트레이싱 렌더링 기법, NDC2019
김혁, <드래곤 하운드>의 PBR과 레이트레이싱 렌더링 기법, NDC2019김혁, <드래곤 하운드>의 PBR과 레이트레이싱 렌더링 기법, NDC2019
김혁, <드래곤 하운드>의 PBR과 레이트레이싱 렌더링 기법, NDC2019
 
Destruction Masking in Frostbite 2 using Volume Distance Fields
Destruction Masking in Frostbite 2 using Volume Distance FieldsDestruction Masking in Frostbite 2 using Volume Distance Fields
Destruction Masking in Frostbite 2 using Volume Distance Fields
 
Deferred Rendering in Killzone 2
Deferred Rendering in Killzone 2Deferred Rendering in Killzone 2
Deferred Rendering in Killzone 2
 
Practical Occlusion Culling in Killzone 3
Practical Occlusion Culling in Killzone 3Practical Occlusion Culling in Killzone 3
Practical Occlusion Culling in Killzone 3
 
Hable John Uncharted2 Hdr Lighting
Hable John Uncharted2 Hdr LightingHable John Uncharted2 Hdr Lighting
Hable John Uncharted2 Hdr Lighting
 
Paris Master Class 2011 - 07 Dynamic Global Illumination
Paris Master Class 2011 - 07 Dynamic Global IlluminationParis Master Class 2011 - 07 Dynamic Global Illumination
Paris Master Class 2011 - 07 Dynamic Global Illumination
 
Five Rendering Ideas from Battlefield 3 & Need For Speed: The Run
Five Rendering Ideas from Battlefield 3 & Need For Speed: The RunFive Rendering Ideas from Battlefield 3 & Need For Speed: The Run
Five Rendering Ideas from Battlefield 3 & Need For Speed: The Run
 
Siggraph2016 - The Devil is in the Details: idTech 666
Siggraph2016 - The Devil is in the Details: idTech 666Siggraph2016 - The Devil is in the Details: idTech 666
Siggraph2016 - The Devil is in the Details: idTech 666
 
D2 Hdr
D2 HdrD2 Hdr
D2 Hdr
 
Graphics Gems from CryENGINE 3 (Siggraph 2013)
Graphics Gems from CryENGINE 3 (Siggraph 2013)Graphics Gems from CryENGINE 3 (Siggraph 2013)
Graphics Gems from CryENGINE 3 (Siggraph 2013)
 
Massive Point Light Soft Shadows
Massive Point Light Soft ShadowsMassive Point Light Soft Shadows
Massive Point Light Soft Shadows
 
Terrain Rendering in Frostbite using Procedural Shader Splatting (Siggraph 2007)
Terrain Rendering in Frostbite using Procedural Shader Splatting (Siggraph 2007)Terrain Rendering in Frostbite using Procedural Shader Splatting (Siggraph 2007)
Terrain Rendering in Frostbite using Procedural Shader Splatting (Siggraph 2007)
 

Viewers also liked

05_글로벌일루미네이션
05_글로벌일루미네이션05_글로벌일루미네이션
05_글로벌일루미네이션noerror
 
KCGS11_실시간 피사계 심도 렌더링 개선 기법
KCGS11_실시간 피사계 심도 렌더링 개선 기법KCGS11_실시간 피사계 심도 렌더링 개선 기법
KCGS11_실시간 피사계 심도 렌더링 개선 기법noerror
 
[0529 박민근] 전역조명(global illumination)
[0529 박민근] 전역조명(global illumination)[0529 박민근] 전역조명(global illumination)
[0529 박민근] 전역조명(global illumination)MinGeun Park
 
Shadow mapping 정리
Shadow mapping 정리Shadow mapping 정리
Shadow mapping 정리changehee lee
 
Build Lightmap system
Build Lightmap systemBuild Lightmap system
Build Lightmap systemJaesik Hwang
 
Ndc12 이창희 render_pipeline
Ndc12 이창희 render_pipelineNdc12 이창희 render_pipeline
Ndc12 이창희 render_pipelinechangehee lee
 
6강 light shadow 기초
6강 light shadow 기초6강 light shadow 기초
6강 light shadow 기초JP Jung
 
UX, ethnography and possibilities: for Libraries, Museums and Archives
UX, ethnography and possibilities: for Libraries, Museums and ArchivesUX, ethnography and possibilities: for Libraries, Museums and Archives
UX, ethnography and possibilities: for Libraries, Museums and ArchivesNed Potter
 
Visual Design with Data
Visual Design with DataVisual Design with Data
Visual Design with DataSeth Familian
 

Viewers also liked (10)

05_글로벌일루미네이션
05_글로벌일루미네이션05_글로벌일루미네이션
05_글로벌일루미네이션
 
Metropolis Instant Radiosity
Metropolis Instant RadiosityMetropolis Instant Radiosity
Metropolis Instant Radiosity
 
KCGS11_실시간 피사계 심도 렌더링 개선 기법
KCGS11_실시간 피사계 심도 렌더링 개선 기법KCGS11_실시간 피사계 심도 렌더링 개선 기법
KCGS11_실시간 피사계 심도 렌더링 개선 기법
 
[0529 박민근] 전역조명(global illumination)
[0529 박민근] 전역조명(global illumination)[0529 박민근] 전역조명(global illumination)
[0529 박민근] 전역조명(global illumination)
 
Shadow mapping 정리
Shadow mapping 정리Shadow mapping 정리
Shadow mapping 정리
 
Build Lightmap system
Build Lightmap systemBuild Lightmap system
Build Lightmap system
 
Ndc12 이창희 render_pipeline
Ndc12 이창희 render_pipelineNdc12 이창희 render_pipeline
Ndc12 이창희 render_pipeline
 
6강 light shadow 기초
6강 light shadow 기초6강 light shadow 기초
6강 light shadow 기초
 
UX, ethnography and possibilities: for Libraries, Museums and Archives
UX, ethnography and possibilities: for Libraries, Museums and ArchivesUX, ethnography and possibilities: for Libraries, Museums and Archives
UX, ethnography and possibilities: for Libraries, Museums and Archives
 
Visual Design with Data
Visual Design with DataVisual Design with Data
Visual Design with Data
 

Similar to Real-Time Global Illumination Techniques

구세대 엔진 신데렐라 만들기 최종본 유트브2
구세대 엔진 신데렐라 만들기 최종본 유트브2구세대 엔진 신데렐라 만들기 최종본 유트브2
구세대 엔진 신데렐라 만들기 최종본 유트브2Kyoung Seok(경석) Ko(고)
 
Cascade Shadow Mapping
Cascade Shadow MappingCascade Shadow Mapping
Cascade Shadow MappingSukwoo Lee
 
Depth buffershadow
Depth buffershadowDepth buffershadow
Depth buffershadowMoonLightMS
 
[1023 박민수] 깊이_버퍼_그림자_1
[1023 박민수] 깊이_버퍼_그림자_1[1023 박민수] 깊이_버퍼_그림자_1
[1023 박민수] 깊이_버퍼_그림자_1MoonLightMS
 
[1023 박민수] 깊이_버퍼_그림자
[1023 박민수] 깊이_버퍼_그림자[1023 박민수] 깊이_버퍼_그림자
[1023 박민수] 깊이_버퍼_그림자MoonLightMS
 
언리얼엔진4를 활용한 레이트레이싱 리얼타임 영상 제작하기
언리얼엔진4를 활용한 레이트레이싱 리얼타임 영상 제작하기언리얼엔진4를 활용한 레이트레이싱 리얼타임 영상 제작하기
언리얼엔진4를 활용한 레이트레이싱 리얼타임 영상 제작하기YOUNGJO CHO
 
Devtree lightmapping unity5_2_1stday
Devtree lightmapping unity5_2_1stdayDevtree lightmapping unity5_2_1stday
Devtree lightmapping unity5_2_1stdaySangYun Yi
 
Reflective Shadow Maps
Reflective Shadow MapsReflective Shadow Maps
Reflective Shadow MapsBongseok Cho
 
9강 camera advanced light2
9강 camera advanced light29강 camera advanced light2
9강 camera advanced light2JP Jung
 
Lighting in Stingray
Lighting in StingrayLighting in Stingray
Lighting in StingrayJaehoon Lee
 
gametech 2012 Gladius project
gametech 2012 Gladius projectgametech 2012 Gladius project
gametech 2012 Gladius projectWuwon Yu
 
Devrookie GI 20111008
Devrookie GI 20111008Devrookie GI 20111008
Devrookie GI 20111008Yong-nam Kim
 
포인트 셰도우
포인트 셰도우포인트 셰도우
포인트 셰도우Sukwoo Lee
 
[Ndc11 박민근] deferred shading
[Ndc11 박민근] deferred shading[Ndc11 박민근] deferred shading
[Ndc11 박민근] deferred shadingMinGeun Park
 
7강 shader basic lighting_배포용 삭제버전
7강 shader basic lighting_배포용 삭제버전7강 shader basic lighting_배포용 삭제버전
7강 shader basic lighting_배포용 삭제버전JP Jung
 
[0326 박민근] deferred shading
[0326 박민근] deferred shading[0326 박민근] deferred shading
[0326 박민근] deferred shadingMinGeun Park
 
[20100820] 3d display, Haptics 기술 세미나
[20100820] 3d display, Haptics 기술 세미나[20100820] 3d display, Haptics 기술 세미나
[20100820] 3d display, Haptics 기술 세미나Jaehoon Jung
 
크게, 아름답게,빠르게, 일관되게 만들기: Just Cause 2 개발에서 배운 교훈들 (GPU Pro)
크게, 아름답게,빠르게, 일관되게 만들기: Just Cause 2 개발에서 배운 교훈들 (GPU Pro)크게, 아름답게,빠르게, 일관되게 만들기: Just Cause 2 개발에서 배운 교훈들 (GPU Pro)
크게, 아름답게,빠르게, 일관되게 만들기: Just Cause 2 개발에서 배운 교훈들 (GPU Pro)민웅 이
 
[Kgc2012] deferred forward 이창희
[Kgc2012] deferred forward 이창희[Kgc2012] deferred forward 이창희
[Kgc2012] deferred forward 이창희changehee lee
 
실전프로젝트 정서경 양현찬
실전프로젝트 정서경 양현찬실전프로젝트 정서경 양현찬
실전프로젝트 정서경 양현찬현찬 양
 

Similar to Real-Time Global Illumination Techniques (20)

구세대 엔진 신데렐라 만들기 최종본 유트브2
구세대 엔진 신데렐라 만들기 최종본 유트브2구세대 엔진 신데렐라 만들기 최종본 유트브2
구세대 엔진 신데렐라 만들기 최종본 유트브2
 
Cascade Shadow Mapping
Cascade Shadow MappingCascade Shadow Mapping
Cascade Shadow Mapping
 
Depth buffershadow
Depth buffershadowDepth buffershadow
Depth buffershadow
 
[1023 박민수] 깊이_버퍼_그림자_1
[1023 박민수] 깊이_버퍼_그림자_1[1023 박민수] 깊이_버퍼_그림자_1
[1023 박민수] 깊이_버퍼_그림자_1
 
[1023 박민수] 깊이_버퍼_그림자
[1023 박민수] 깊이_버퍼_그림자[1023 박민수] 깊이_버퍼_그림자
[1023 박민수] 깊이_버퍼_그림자
 
언리얼엔진4를 활용한 레이트레이싱 리얼타임 영상 제작하기
언리얼엔진4를 활용한 레이트레이싱 리얼타임 영상 제작하기언리얼엔진4를 활용한 레이트레이싱 리얼타임 영상 제작하기
언리얼엔진4를 활용한 레이트레이싱 리얼타임 영상 제작하기
 
Devtree lightmapping unity5_2_1stday
Devtree lightmapping unity5_2_1stdayDevtree lightmapping unity5_2_1stday
Devtree lightmapping unity5_2_1stday
 
Reflective Shadow Maps
Reflective Shadow MapsReflective Shadow Maps
Reflective Shadow Maps
 
9강 camera advanced light2
9강 camera advanced light29강 camera advanced light2
9강 camera advanced light2
 
Lighting in Stingray
Lighting in StingrayLighting in Stingray
Lighting in Stingray
 
gametech 2012 Gladius project
gametech 2012 Gladius projectgametech 2012 Gladius project
gametech 2012 Gladius project
 
Devrookie GI 20111008
Devrookie GI 20111008Devrookie GI 20111008
Devrookie GI 20111008
 
포인트 셰도우
포인트 셰도우포인트 셰도우
포인트 셰도우
 
[Ndc11 박민근] deferred shading
[Ndc11 박민근] deferred shading[Ndc11 박민근] deferred shading
[Ndc11 박민근] deferred shading
 
7강 shader basic lighting_배포용 삭제버전
7강 shader basic lighting_배포용 삭제버전7강 shader basic lighting_배포용 삭제버전
7강 shader basic lighting_배포용 삭제버전
 
[0326 박민근] deferred shading
[0326 박민근] deferred shading[0326 박민근] deferred shading
[0326 박민근] deferred shading
 
[20100820] 3d display, Haptics 기술 세미나
[20100820] 3d display, Haptics 기술 세미나[20100820] 3d display, Haptics 기술 세미나
[20100820] 3d display, Haptics 기술 세미나
 
크게, 아름답게,빠르게, 일관되게 만들기: Just Cause 2 개발에서 배운 교훈들 (GPU Pro)
크게, 아름답게,빠르게, 일관되게 만들기: Just Cause 2 개발에서 배운 교훈들 (GPU Pro)크게, 아름답게,빠르게, 일관되게 만들기: Just Cause 2 개발에서 배운 교훈들 (GPU Pro)
크게, 아름답게,빠르게, 일관되게 만들기: Just Cause 2 개발에서 배운 교훈들 (GPU Pro)
 
[Kgc2012] deferred forward 이창희
[Kgc2012] deferred forward 이창희[Kgc2012] deferred forward 이창희
[Kgc2012] deferred forward 이창희
 
실전프로젝트 정서경 양현찬
실전프로젝트 정서경 양현찬실전프로젝트 정서경 양현찬
실전프로젝트 정서경 양현찬
 

Real-Time Global Illumination Techniques

  • 1. Real-Time Global Illumination Techniques 이장호 jangho.lee@gmail.com KASA Open Seminar, 2011.06.12
  • 2. 개요  Global Illumination 소개  Real-Time / for Games  Indirect Lighting(Inter-reflections) Techniques – SSGI, RSM, SII, IR, ISM, CLPV  토의 및 결론
  • 3. Global Illumination  Direct Illumination + Indirect Illumination  Offline Techniques – Radiosity – Ray Tracing – Photon Mapping Cornell Box, 실제, 렌더링, 차이 [cu98]
  • 4. Local Illumination vs Global Illumination Local Illumination Global Illumination
  • 5. Direct, Indirect Illumination Direct Illumination Direct + Indirect Illumination, Shrek2 Indirect Illumination
  • 6. GI Equation [sc09] L ωr n Li θ x
  • 7. Radiosity  Radiosity = 단위 시간, 단위 면적당 에너지  Patch 단위, Form Factor에 의해 면적당 에너지 계산, 누적  Diffuse-Diffuse Interaction 만 고려 Radiosity Patches Form Factor
  • 8. Ray Tracing  시야에서 광선 추적 (Reverse, View Dependent)  Hit Object 마다 Lighting 계산, Reflected or Refracted로 확장  Path Tracing으로 Indirect Lighting 구현 가능 Screen Light Reflected Eye Refracted Shadowed Ray Tracing (Reflected, Refracted, Shadowed)
  • 9. Photon Mapping  Light로부터 방출된 Photon 저장, Path Tracing으로 Rendering  2 Pass: Photon Tracing, Rendering  Caustics, Sub-Surface Scattering 등에 빠른 계산 Photon Visualization Rendering
  • 10. Real-Time?  2011년 기준 상용 하드웨어, 상용 제품 – PC, XBox360, PS3  Pre-Computed + Direct Illumination이 대세  기존 GI 알고리즘의 직접 적용 – 실시간 Ray Tracing은 데모 수준 – 실시간 Radiosity는 단순화된 씬으로 가속, Enlighten/BF3 – Offline Renderer에 도움을 주는 역할  Indirect Illumination에 특화된 적용 – Diffuse Inter-reflection – 1 Bounce
  • 11. Lighting in Games  Static Light & Static Geometry – Lightmap  Dynamic Light & Static Geometry – PRT  Static Light & Dynamic Geometry – Irradiance Volumes (Point Light Cloud)  Dynamic Light & Dynamic Geometry – SSGI – RSM, SII – IR, ISM – CLPV
  • 12. SSGI  Screen Space Global Illumination [ssdo09]  SSAO(SSDO)를 Indirect Illumination으로 확장  D.I. 이후, 인접 Pixel을 간접 광원으로 사용  1 Bounce  SSAO 대비 약 30% 추가 비용 – SSAO: 58fps – SSGI: 40fps – 1024 x768, N=16 – nVidia 8800 GTX SSDO SSGI
  • 14. SSGI  SSAO와 동일한 장단점  화면 복잡도와 무관한 성능  잘못된 Occlusion: Depth, 각도  지역적: 반경 이상의 간접광 표현 못함 잘못된 Visibility: 각도 변화 잘못된 Occlusion: Depth
  • 15. RSM  Reflective Shadow Maps [rsm05]  Shadow Map을 Indirect Light Source로 활용  Shadow Map이므로, Light의 Occlusion을 내포  1 Light source, 1 Bounce  RSM 생성을 제외하고, 화면 복잡도와 무관, 동일한 성능
  • 16. RSM  Light 시점에서 RSM 생성, Depth(Position), Normal, Flux  각 픽셀을 Light Source로 간주 Light 시점에서 생성된 RSM Depth Position Normal Flux: Bright + Color
  • 17. RSM  Fragment Shader(PS)에서 Indirect Illumination 계산 모든 픽셀을 누적 x의 Indirect Lighting 계산시 참조하는 RSM
  • 18. RSM  Gathering – Potentially Important Samples – polor 좌표계, st(uv) 월드 분포의 거리가 RSM에서의 분포와 비례 면적당 Weight
  • 19. RSM  Result – 9.1fps, 512 x 512, N=224, nVidia FX4000 Light 시점에서 생성된 RSM 최종 렌더링 결과
  • 20. Splatting Indirect Illumination  RSM을 Gathering이 아닌 Shooting [sii07]  Deferred Shading  Instant Radiosity와 유사, Occlusion이 고려되진 않음 Importance Sampling
  • 21. Instant Radiosity  VPL(Virtual Point Lights) 기반 [ir97][ir08]  VPL을 생성하여 Direct, Indirect Light Source로 활용 Light에서 VPL생성 VPL로부터 Illumination 계산
  • 22. Instant Radiosity  Result 최종 렌더링 VPL 배치
  • 23. Instant Radiosity  Light Occlusion – Shadow Map을 이용 – 쉽지만, 비싼 비용 각 VPL당 Shadow Maps
  • 24. Instant Radiosity  VPL Distribution – Path Tracing와 유사 – Shadow를 포함한 VPL의 누적 1차 바운스 … 4차 바운스 렌더링 결과누적
  • 25. Imperfect Shadow Maps  Instant Radiosity 기반 [ism08]  Indirect Lighting은 매우 부드럽게 변함  VPL의 기여도는 매우 작음
  • 26. Imperfect Shadow Maps  Low Quality Depth Maps로 충분 – Point-Based Rendering으로 Depth Map 생성
  • 27. Imperfect Shadow Maps  Point-Based Depth Maps을 이용한 렌더링  Pull-Push Hole Filling은 인접 Depth를 이용한 평균
  • 28. Imperfect Shadow Maps  Result – nVidia 8800GTX
  • 29. Imperfect Shadow Maps  Result: Bounce – 1024 x 1024, nVidia 8800GTX 14.0fps, 1024 VPL 7.5fps, +256 VPL(bounce) 5.5fps, +256 VPL(bounce) * 2
  • 30. Imperfect Shadow Maps  Result: Comparison ISM, 11fps, 256^2, 8k VPL Path Tracing, hours
  • 31. CLPV  Cascaded Light Propagation Volumes [clpv09] [clpv10a] [clpv10b]  Propagation Volumes – lit surfaces 샘플링, 2차 라이트 소스 – 3D Grid 안에 Clustering – 각각의 셀에 전파 RSM 3D Cell에 Clustering 전파
  • 32. CLPV  Sampling Depth – RSM 기반 샘플링 Normals Albedo Lit Surfel 샘플링 RSM
  • 33. CLPV  Clustering 3D Cell에 Clustering
  • 34. CLPV  Propagation VPL VPL VPL RSM Radiance Volume Clustering 인접 Cell에 전파, 반복 정규화된 Grid Cell에 SH로 표현
  • 35. CLPV  Propagation 0 Iterations, only Injection
  • 36. CLPV  Propagation 4 Iterations after Injection
  • 37. CLPV  Propagation 6 Iterations
  • 38. CLPV  Propagation 8 Iterations
  • 39. CLPV Depth Normals Albedo
  • 40. CLPV  Cascaded – Multi-Resolution Approach – Cascaded Shadow Maps와 유사 – 근접한 곳에 더 디테일한 정보 – 렌더링시에 해상도별 동시 참조 3단계 Cascaded LPV
  • 41. CLPV Global Illumination Off
  • 42. CLPV Global Illumination On / 1 LPV
  • 43. CLPV Global Illumination On / 3 LPVs
  • 44. CLPV  높은 성능 – 32^3 Grid, 8 Iterations, 1280 x 720 – GTS250 2.4ms (RSM 256 x 256) – Xbox360 2.4ms (RSM 128 x 128) – PS3 3.0ms (RSM 128 x 128) – Frame Skipping 및 Camera 변화에 따른 조절로 1~2ms 수준 최적화  GPU Friendly  안정적인 결과 – Scene 복잡도 무관 – Flicker-Free
  • 45. 토의 및 결론  Lighting Keywords – Lightmap – Image Based Lighting – Deferred Lighting – Real-Time GI  환경, 품질, 성능에 따라 선택, 혼용  GI로 수렴될 것으로 예상?!
  • 46. 참고 문헌  [cu98] The Cornell Box http://www.graphics.cornell.edu/online/box/  [sc09] Real-Time Global Illumination for Dynamic Scenes, Siggraph Course, Carsten Dachsbacher, Jan Kautz, 2009  [ssdo09] Approximating Dynamic Global Illumination in Screen Space, Tobias Ritschel, Thorsten Grosch, Hans-Peter Seidel, I3D, 2009  [rsm05] Reflective shadow maps, Carsten Dachsbacher and Marc Stamminger, I3D, 2005  [sii07] Splatting Indirect Illumination, Carsten Dachsbacher and Marc Stamminger, 2007
  • 47. 참고 문헌  [ir97] Instant radiosity, Alexander Keller, SIGGRAPH, 1997  [ir08] Instant Radiosity An Approach for Real-Time Global Illumination, Martin Kinkelin and Christian Liensberger, 2008  [ism08] Imperfect shadow maps for efficient computation of indirect illumination, Tobias Ritschel et al., SIGGRAPH Asia, 2008  [clpv09] Light Propagation Volumes in CryEngine 3, Anton Kaplanyan, SIGGRAPH Course, 2009  [clpv10a] Real-time Diffuse Global Illumination in CryENGINE 3, Anton Kaplanyan, SIGGRAPH Course, 2010  [clpv10b] Cascaded Light Propagation Volumes for Real Time Indirect Illumination, Anton Kaplanyan and Carsten Dachsbacher, I3D, 2010