Valient killzone ps4 lighting

38
Lighting Shader Study 이민웅

description

killzone

Transcript of Valient killzone ps4 lighting

Page 1: Valient killzone ps4 lighting

Lighting Shader Study

이민웅

Page 2: Valient killzone ps4 lighting
Page 3: Valient killzone ps4 lighting
Page 4: Valient killzone ps4 lighting
Page 5: Valient killzone ps4 lighting
Page 6: Valient killzone ps4 lighting
Page 7: Valient killzone ps4 lighting
Page 8: Valient killzone ps4 lighting

물리 기반 라이팅을 채용 • 퀄리티가 높은 사실적인 랜더링 • HDR 라이팅 환경에서도 외형 일관성이 있다 • 실제 재질관련의 변수들을 사용하기 쉽다

– 아티스트가 사용하는 머트리얼 매개 변수를 단순화하기 쉽다.

• 현실 세계에서의 물리 법칙이라는 분명한 척도가 있기 때문에 문제 해결이 쉽거나 확장도 쉽다.

Page 9: Valient killzone ps4 lighting

게임 물체의 표면에 빛이 닿으면 반사행동을 균일하게 반사함 디퓨즈 반사는 지향성있고 스펙큘라는 외형에 의존해 근사

Page 10: Valient killzone ps4 lighting

비금속의 경우 아래 그림과 같이 확산 디퓨즈(파란 선)와 스펙큘라 반사 (노란선) 모두가 일어남

Page 11: Valient killzone ps4 lighting

금속의 경우는 아래와 같이 거의 스펙큘라 반사 (노란선)이 지배적입

Page 12: Valient killzone ps4 lighting

마이크로 패싯 : 물리학 기반의 스펙큘라 조명

Page 13: Valient killzone ps4 lighting

F (l, h) : 프레넬에 의해 빛 벡터와 하프 벡터가 이루는 각도에 따라 스펙큘라의 반사율이 달라짐

Page 14: Valient killzone ps4 lighting

D (h) : Roughness(거칠기)는 마이크로 패싯이 반사하는 스펙큘라의 확산 정도 (노말상태)을 변경

Page 15: Valient killzone ps4 lighting

기하 감쇠율 G (l, v, h) : 마이크로 패싯 자신에 의해 차폐되는 조명의 양을 구함

Page 16: Valient killzone ps4 lighting

적은 재료에서 사실적으로 표현

• 세 가지 매개 변수를 사용 – Albedo (RGB8) – Roughness (R8) – Specular Reflectance

(RGB8)

• 디퓨즈 라이팅과 스펙큘라 라이팅(반사율)을 따로 계산

• 스펙큘라 라이팅에서는 Roughness , Specular Reflectance 이것만을 가지고 계산

Page 17: Valient killzone ps4 lighting

Roughness(거칠기) 를 변화 시켰을 때의 스펙큘라라이팅의 외형 변화에서 거칠기가 거친(0.0)때 노말 반사되고 거칠기가 매끄럽게 (1.0)의 경우 선명한 반사

Page 18: Valient killzone ps4 lighting

비금속 재질의 Specular Reflectance 과 roughness 을 변화 시켰을 때의 외형의 변화

Page 19: Valient killzone ps4 lighting

roughness 을 변화 시켰을 때의 각 금속 재료의 외형 변화에서 값이 낮으면 굵고 까칠 까칠한 외형되고 값이 높으면 매끄러운 외형

Page 20: Valient killzone ps4 lighting

재질의 물리학적 값 사용

• 재질중에는 실제 측정 된 데이터 값을 사용함

– EX) Diffuse, Specular Reflectance 실제 값 이용

• 디자이너는 실제 값(물리학적으로 계산된 값)을 이용하여 텍스쳐를 만듬

– Diffuse같은 경우는 사진촬영으로 수정할수 있음

– Specular Reflectance는 BRDF값을 참조

Page 21: Valient killzone ps4 lighting

비금속 (물이나 플라스틱 등)의 Specular Reflectance 측정 결과

Page 22: Valient killzone ps4 lighting

금속의 Specular Reflectance장의 측정 결과

Page 23: Valient killzone ps4 lighting

마이크로 패싯의 에너지 보존

• Roughness의 값을 변경하였을때 스펙큘라라라이팅의 하이라이트 영역의 크기가 바뀌였을때 밝기도 같이 바뀌도록 설정함

• 마이크로 패싯의 에너지 보존(저장)하는 방법

– 계산시에 값을 정규화하기 때문

Page 24: Valient killzone ps4 lighting

Energy Conservative

Non - Energy Conservative

Page 25: Valient killzone ps4 lighting
Page 26: Valient killzone ps4 lighting

스페큐라라이팅의 계산 방법

Page 27: Valient killzone ps4 lighting

Cook Torrance BRDF

• 디퓨즈 라이팅 계산은 k_d * R_d되고 있고, 매우 간단

• 스펙큘라라이팅은 Roughness에 값에 따라 변화하는 마이크로 패싯과 프레넬과 연동

• 마이크로 패싯 기하 감쇠 – Smith Schlick Visiblity Function 를 사용

Page 28: Valient killzone ps4 lighting
Page 29: Valient killzone ps4 lighting

• Shadow Fall BRDF

• Based on Cook-Torrance

– Fresnel

– Smith Schlick Visiblity Function

– Normalization based on Specular Reflectance

– Roughness as Specular Importance Cone Angle

• Approximate translucency

– Density maps

– Translucency diffusion maps

Page 30: Valient killzone ps4 lighting

Based on Cook-Torrance • Fresnel – Schlick Approximation

– inSpecularReflectance + (1.0 - inSpecularReflectance) * pow(1.0 - inX,5.0)

• Geometric Attenuation Factor – Smith Schlick Visiblity Function – (inNdotL * inNdotE) / ( (inNdotL * (1.0 - a) + a) *

(inNdotE * (1.0 - a) + a) )

• Normalization based on Specular Reflectance – ( 1.0 - inSpecularReflectance ) * saturate(inNdotL)

Page 31: Valient killzone ps4 lighting

IBL을 사용한 라이팅 방법

• IBL을 계산시 Roughness 값을 가지고만 원하는 결과를 뽑을 수 없어서 Ambient BRDF 사용를 사용한거

• Ambient BRDF 사용 – 시점과 법선의 각도, Roughness , Specular

Reflectance 3 개의 값을 BRDF의 평균치를 계산(라이트를 계산 무시) 반구 적분하여 사전에 Mathematica로 계산하고 3D 텍스쳐로 저장

Page 32: Valient killzone ps4 lighting

IBL Point Based BRDF – factor visualization

Page 33: Valient killzone ps4 lighting
Page 34: Valient killzone ps4 lighting

IBL Point Based BRDF

Page 35: Valient killzone ps4 lighting

IBL Point Based BRDF – factor visualization

Page 36: Valient killzone ps4 lighting

IBL Ambient BRDF – factor visualization

Page 37: Valient killzone ps4 lighting

IBL Ambient BRDF

Page 38: Valient killzone ps4 lighting

IBL Point Based BRDF