AXIS Q16 네트워크 카메라 시리즈 까다로운 조명 조건인 경우 · 2015-05-04 · axis q16 네트워크 카메라 시리즈 까다로운 조명 조건인 경우 axis
Physically Based Rendering 같은 조명 효과를 위한...
Transcript of Physically Based Rendering 같은 조명 효과를 위한...
Motivation
AAA 급의 그래픽을 뽑고 싶다 1. 값비싼 엔진도 좋지만…
- 엔진에 제공하는 기능만으로는 차별화할 수 없다
- 자체적으로 훌륭한 결과를 내는 경우도 많음 (ex. Uncharted 3)
- 기왕이면 외화도 좀 줄이고… (실은 사장님이 언리얼 안 사주셨어요)
2. Physically Based Rendering
- 특정 기술을 지칭하기 보다는 전반적인 접근 방식
Physically Based Rendering
Volumetric Rendering Equation
Rendering Equation
첫째 날 하나님께서 말씀하시기를 Where : surface position : outward direction : position in participating media : BRDF : transmittance
라고 하시어 빛을 창조하셨느니라
dtLTLTL titstrsssro ),()(),(),(),(),( xxxxxxxx
dLfLL sisrsess ))(,(),,(),(),( nxxxx
),(),(),( srsess LLL xxx
sx
tx),,( srf x
),( trT xx
Physically Based
What?
- 물리 법칙에 기반한 Lighting(조명) / Reflectance(반사) Model을 사용
Why?
1. Photorealistic 결과를 얻기 쉬워짐
2. 다양한 조명 환경에서도 일관된 결과를 보임
3. 각종 Fake 연산들의 필요성이 줄어든다. (ex. Half-Lambert)
4. Material Parameter가 간결해짐
- 아티스트들의 노가다가 줄어든다!!!
Rendering
Wikipedia 가라사대
1. Rendering이란 컴퓨터 프로그램을 통해 모델 또는 모델들로 구성된 장면으로부터
이미지를 생성하는 과정이다 …(중략)…
2. 가상의 조명 하에서 장면이 비교적 사실적으로 보이려면, Rendering Software는
Rendering Equation을 풀어야 한다.
- 2차 방정식 근의 공식도 가물가물 한데…
- 이미 훌륭하신 분들이 풀어 주셨으므로 우리는 참고만…
- Divide And Conquer!!!
준비물
Linear Space Rendering 1. Gamma Correction
2. sRGB Space -> Linear Space 변환
HDR + Tone Mapping 1. LDR에서는 조명 연산 누적으로 인한 결과가 Clamp됨(잘림)
2. LDR의 Precision으로는 조명의 계조가 매끄럽지 못함
3. 좋은 Tone Mapping이 최종 결과물을 좌우
Deferred Shading 1. 이후 소개될 일부 효과들에서 Deferred Shading의 G-Buffer를 필요로 함
2. 혹은 Variation (Light Pre-pass Rendering, Inferred Rendering…)
Rendering Equation
Kajiya, James (1986) - 진공 상태를 가정
Surface Output Light (표면 라이팅 결과)
Emissive Light (자체발광)
BRDF (나중에 설명..)
Input Light (입력광)
dLfLL sisrsess ))(,(),,(),(),( nxxxx
BRDF의 Cosine 성분
Reflected Light (반사광)
Rendering Equation
Light Flow
sx
iLeL
rLiL
Emissive Light Input Light
(Direct)
Input Light (Indirect)
Reflected Light
Surface Point
iLIrradiance
Light Source Viewer
Input Light
Direct Light – 광원에 의한 직접광
Indirect Light – 표면 반사, 산란 등에 의한 간접광
1. Global Illumination
- Light Map – Static(기존), Dynamic(Enlighten, Battlefield 3)
- Light Propagation Volumes – Crytek, 우리의 선택
2. Image Based Lighting (IBL), 우리의 선택
- Environment(Cube) Map – 이미 널리 사용되고 있음
- Irradiance Environment Map
Indirect Light - Light Propagation Volumes
Real-time Global Illumination
1. Anton Kaplanyan에 의해 제안 (Crytek) [2009]
2. CryENGINE 3(Crysis 2)에 적용됨
3. Reflective Shadow Map에 기반
- Flux(광량), Normal, Depth로 구성
- VPL(Virtual Point Light)의 개념 적용
4. Spherical Harmonics에 의한 전파
- 2nd Band까지 적용 (4 Coefficients)
Spherical Harmonics
Light Propagation Volumes
Overview
Reflective Shadow Map 생성
Radiance Injection
Radiance Propagation
Scene Lighting
Radiance Propagation
Flux, Normal, Depth
VPL이 속하는 LPV에 SH Coefficients로 변경 및 누적
인접 Cell로의 Radiance 전파
G-Buffer를 참조하여 Render
Light Propagation Volumes
Cascaded Light Propagation Volumes
1. Cascaded Shadow Map과 유사
2. 하나의 LPV로는 넓은 영역에 적용이 어려움
- 3차원 Grid이므로 O(N3)의 복잡도
- 근경에는 세밀한 LPV를 사용
- 원경에는 간격이 큰 LPV를 사용
Cascaded LPV
Indirect Light - Irradiance Environment Map
Real-Time에 생성된 큐브맵을 사용
반구면을 따라 Convolution 1. Texture Look-up이 너무 많음
- ex. 64 짜리 큐브맵으로 32 짜리 Irradiance Env. Map 생성
-> 약 1억5천만번 이상의 샘플링 필요
2. Spherical Harmonics를 이용해 간소화
- 위의 예시가 약 22만 X 상수배 정도로 감소
표면의 Normal 방향을 따라 Sampling
BRDF
Bidirectional Radiance Distribution Function
표면상의 한 점에서의 입사광 대비 반사광의 양을 정의 1. Lambertian
2. Oren-Nayar
3. Phong
4. Blinn-Phong
5. Cook-Torrance
6. Ward
7. Ashikhmin
8. Kajiya-Kay
9. …
가장 대중적 하지만 에너지가 보존되지 않음
Blinn-Phong Model에 에너지 보존을 고려 1. Specular 계수와 상관 없이 동일한 면적(에너지)를 표현
- 정규화 계수 적용
2. 선형식으로 근사해서 사용 가능
Normalized Blinn-Phong
동일한 면적
다른 Specular 계수
Fresnel Term을 고려 1. Schlick의 근사
- 단순한 연산으로 실제 Fresnel 방정식과 유사한 결과를 나타냄
2. Diffuse에도 에너지 보존을 고려
3. 최종 결과 – 다소 복잡해 보이지만 기존의 연산 결과를 수식에 대입하기만 하면 됨
Normalized Blinn-Phong
기존 Diffuse 기존 Specular
Screen Space Sub-Surface Scattering
Why? 1. 사람의 눈은 피부를 구별하는데 익숙함
2. BRDF(Bidirectional Radiance Distribution Function)으로는 피하 산란을
표현할 수 없음
3. BSSRDF(Bidirectional Surface Scattering Reflectance Distribution Function)
- Subsurface Scattering
Screen Space Sub-Surface Scattering
Overview
Blur
Blend X +
Mask
Normal
Depth
Light Layer 1 Layer 2 Layer 3
Albedo Specular
Final Image
Volumetric Rendering Equation
Rendering Equation은 진공의 상태를 가정 1. 현실에서의 대부분의 환경은 진공이 아님
2. 중간 매질에서의 산란이 고려되어야 함
Output Light (최종 라이팅 결과)
표면<->관측자 투과율
Surface Output Light (Rendering Equation)
Input Light (입력광)
dtLTLTL titstrsssro ),()(),(),(),(),( xxxxxxxx
매질<->관측자 투과율
Scattering Coefficient (파장에 영향 받음)
Volumetric Rendering Equation
광원의 종류에 따라 구현이 달라짐 1. Sun(Directional) Light – Atmospheric Scattering
2. Point/Spot Lights – Single Scattering
Mie Scattering
입자의 크기와 상관 없이 산란을 표현 1. 하지만 연산 부하를 줄이기 위해 빛의 파장보다 큰 경우로 단순화
- Henyey-Greenstein Phase Function
- 빛의 파장보다 작은 경우는 Rayleigh가 담당
Single Scattering
대기 중 일반 Point/Spot 광원의 산란을 고려 1. 3가지 빛의 경로에서의 산란이 모두 고려되어야 함
광원->관측자
광원->표면
표면->관측자
Putting It All Together
Daylight Sample 1. Irradiance Environment Map
2. Global Illumination (LPVs)
3. SSAO
Night Sample 1. Global Illumination (LPVs)
2. Single Scattering
3. Bokeh DOF
Conclusion
지속적인 GPU 성능 증가 1. 남는 GPU 자원을 어디에 쓸 것인가?
- 16x SSAA?
- 그 동안 관심이 조명의 질적인 증가보다는 양적인 증가에 편중됨
- 보다 정확한 조명 연산의 필요성 대두
- Physically Based Rendering
2. 아직 해결해야 할 과제들이 많이 남아 있음
- 해외에서는 많은 논의가 이루어 지고 있음
- 우리도 활기차게 논의해 봅시다
3. 문의하실 내용은 [email protected]으로
References
James T. Kajiya. (1986). The Rendering Equation. Wojciech Jarosz. (2008). Efficient Monte Carlo Methods for Light Transport in Scattering Media. Chapter 4 - Light Transport in Participating Media. Yoshiharu Gotanda. Real-time Physically Based Rendering - Basic Theory -. CEDEC 2011. Yoshiharu Gotanda, Tatsuya Shoji. Real-time Physically Based Rendering - Implementation -. CEDEC 2011. Dimitar Lazarov. Physically Based Lighting in Call of Duty: Black Ops. SIGGRAPH 2011. Carsten Dachsbacher, Marc Stamminger. (2005). Reflective Shadow Maps. University of Erlangen-Nuremberg.
References
Anton Kaplanyan. Light Propagation Volumes in CryEngine 3. SIGGRAPH Course, 2009. Anton Kaplanyan and Carsten Dachsbacher. Cascaded Light Propagation Volumes for Real-Time Indirect Illumination. 2010. Ravi Ramamoorthi, Pat Hanrahan. An Efficient Representation for Irradiance Environment Maps. SIGGRAPH 2001. Gary King. Real-Time Computation of Dynamic Irradiance Environment Maps. GPU Gems 2 - Chapter 10. Sean O’Neil. Accurate Atmospheric Scattering. GPU Gems 2 - Chapter 16. Ralf Stokholm Nielsen. Real Time Rendering of Atmospheric Scattering Effects for Flight Simulators.
References
Carsten Wenzel. Real-time Atmospheric Effects in Games. SIGGRAPH 2006. Bo Sun, Ravi Ramamoorthi, Srinivasa G. Narashmhan, Shree K. Nayar. A Practical Analytic Single Scattering Model for Real Time Rendering. George Borshukov and J. P. Lewis. Realistic human face rendering for “The Matrix Reloaded". In SIGGRAPH '03: ACM SIGGRAPH 2003 Sketches & Applications. Craig Donner and Henrik Wann Jensen. Light diffusion in multi-layered translucent materials. ACM Trans. Graph. 24,3,1032-1039, 2005. Eugene d'Eon and David Luebke. GPU Gems 3, chapter 14, pages 293-347. Addison-Wesley Publishing, 2007.
References
Jorge Jimenez, Veronica Sundstedt, and Diego Gutierrez. Screen-space perceptual rendering of human skin. ACM Transactions on Applied Perception, 6(4), 2009. Morten S. Mikkelsen. Skin Rendering by Pseudo-Separable Cross Bilateral Filtering. 2010.