UDN
Search public documentation:

DeferredShadingDX11KR
English Translation
日本語訳
中国翻译

Interested in the Unreal Engine?
Visit the Unreal Technology site.

Looking for jobs and company info?
Check out the Epic games site.

Questions about support via UDN?
Contact the UDN Staff

UE3 홈 > 언리얼 엔진 3의 DirectX 11 > DirectX 11 디퍼드 셰이딩
UE3 홈 > 빛과 그림자 > DirectX 11 디퍼드 셰이딩
UE3 홈 > 라이팅 아티스트 > DirectX 11 디퍼드 셰이딩

DirectX 11 디퍼드 셰이딩


문서 변경내역: Daniel Wright 작성. 홍성진 번역.

개요


디퍼드(deferred, 뒤로 미루는) 셰이딩은 제한된 기능의 다이내믹 라이트를 훨씬 효율적으로 렌더하는 기술입니다. 전통적인 UE3 라이팅은 포워드(forward, 앞선) 셰이딩이라 불리는데, 다이내믹 라이팅은 씬의 메시를 렌더하는 도중에 계산되기 때문입니다. 디퍼드 셰이딩을 통해서는, 디퓨즈 컬러같은 머티리얼 속성은 메시를 렌더하는 도중 (GBuffers 라는) 렌더 타겟에 저장되나, 라이팅은 계산하지 않습니다. 나중의 '디퍼드'(deffered) 패스에서, 각 라이트는 GBuffers 에서 머티리얼 속성에서 주어진 픽셀을 찾아본 다음, 이를 기반으로 라이팅을 계산합니다.

머티리얼 시각화 속성은 GBuffers 에 저장됩니다.

(클릭하면 큰 크기로)

GBuffers_small.jpg

디퍼드 셰이딩으로 렌더되는 라이트는 포워드 라이팅으로 렌더되는 라이트보다 약 10 배 빠릅니다. GDC 2011 테크 데모에서, 인트로 씬에는 123 개의 다이내믹 라이트가 있었는데, 캐릭터의 피부와 머리칼을 제외한 모든 라이팅에 디퍼드 방법이 사용되었습니다. 디퍼드 셰이딩 은 이미 UE3 에서 디퍼드 처리되는 디퍼드 섀도잉까지 가속시켜 주는 것은 아니므로, 동적으로 그림자를 드리우는 라이트를 수백개씩 놓을 수 있는 것은 아니라는 점 유념하시기 바랍니다.

GDC 2011 테크 데모 스크린샷으로, 캐릭터와 환경을 비추는데 다이내믹 라이트 123 개가 들어간 모습을 나타내고 있습니다.

120Lights.jpg

GDC 2011 테크 데모의 스샷 중에서 디퍼드 셰이딩으로 라이팅된 픽셀은 녹색으로 입힌 모습입니다.

Deferred.jpg

표준 포워드 라이팅과 함께 투과성 최적화 방법으로써 대부분에 디퍼드 셰이딩이 사용되고 있습니다. 현재 씬의 어느 부분이 디퍼드 식이고 포워드 식인지를 나타내 주는 툴이 없으나, 있으면 좋을 터라 계획중에 있습니다.

제한사항


현재 디퍼드 셰이딩은 다음과 같은 조건 하에서만 사용해야 합니다:

  • 머티리얼은 불투명이어야, 퐁(Phong) 라이팅 모델을 사용해야 하고, 서브서피스 스캐터링(SSS)을 사용하지 않아야 합니다.
  • 메시는 지원되는 라이팅 채널(다이내믹, 시네마틱 1-3) 중 하나를 사용해야 합니다. BSP, 스태틱, 다이내믹 모두 같은 채널로 간주됩니다.
  • 라이트는 지원되는 라이팅 채널(다이내믹 , 시네마틱 1-3) 중 하나를 사용하는 포인트/스포트/디렉셔널 라이트 무버블 이어야 합니다. BSP, 스태틱, 다이내믹 모두 같은 채널로 간주됩니다.

추가로 디퍼드 셰이딩으로 라이팅될 때는 머티리얼 속성도 제한됩니다:

  • 머티리얼 디퓨즈 값은 0 에서 1 사이로 제한됩니다.
  • 머티리얼 스페큘러 값은 0 에서 1 사이로 제한됩니다.
  • 머티리얼 스페큘러 파워 값은 0 에서 500 사이로 제한됩니다.

시네마틱 라이팅


시네마틱 라이팅은 어느 라이트가 어느 오브젝트에 영향을 끼치는 지를 제어하는데, 환경에서 시네마틱 캐릭터에 영향을 끼치는 라이트 세트를 분리해 저장하는데 있어 전형적으로 라이팅 채널을 사용합니다. 다이내믹 / 시네마틱 1-3 라이팅 채널만 사용한다면야, 캐릭터와 환경 라이트 둘 다 디퍼드식으로 렌더할 수 있습니다.

또한 bNonModulatedSelfShadowing (논-모듈레이트 셀프 섀도잉) 또는 bSelfShadowOnly (셀프 섀도잉만) 옵션을 사용하는 라이트는 디퍼드 셰이딩을 사용하는 빠른 방법이 가능합니다.