다음을 통해 공유


HDR 조명(Direct3D 9)

실제 세계의 조명은 광도 값의 매우 높은 HDR(동적 범위)을 포함합니다. 실제 세계에는 어둠의 스펙트럼에서 밝기로 분산된 광도 값에 대한 약 10개의 DR(동적 범위)이 있습니다. 반면에 컴퓨터 화면에는 매우 제한된 디스플레이 영역(또는 광도 값 범위)이 있습니다. 동적 범위의 약 2개 순서입니다. HDR 렌더링 이미지를 생성하는 과제는 실제 HDR 값을 컴퓨터 화면의 제한된 영역에 매핑하는 것입니다.

톤 매핑은 DIRECTX에서 HDR 정보를 더 제한된 범위로 매핑하는 데 사용하는 기술입니다. CGI 렌더링에 적용된 톤 매핑은 렌더링된 조명 세부 정보의 양을 크게 향상시켜 가장 어두운 영역의 세부 정보를 볼 수 있게 하고, 너무 밝은 영역에서 대비를 제공하여 불타는 것처럼 보일 수 있습니다. 결과 장면은 훨씬 더 눈에 띄는 조명 세부 정보로 렌더링됩니다.

HDRLighting 샘플 은 HDR 조명을 보여 주는 SDK 샘플입니다.

톤 매핑

톤 매핑은 일반적으로 모니터의 DR로 인해 발생할 수 없는 광학 현상을 시뮬레이션합니다. 이것의 예는 플레어 또는 개화 (주로 렌즈의 속성), 낮은 빛 조건에서 인간의 눈에서 발생하는 파란색 시프트, 그리고 눈의 생화학의 결과인 다른 적응이다. 디스플레이의 DR이 충분히 큰 경우, 카메라 렌즈 또는 충전 결합 장치 (CCD)의 특성 중 일부 또는 예술적 효과를 제공하는 것을 제외하고는 톤 매핑이 필요하지 않을 것입니다.

톤 매핑은 장면의 광도 값 범위를 영역 집합으로 나눕니다. 각 영역에는 다양한 광도 값이 포함됩니다.

HDR은 다음 용어를 사용합니다.

  • 영역 - 광도 값 범위
  • 가운데 회색 - 장면의 중간 밝기 영역
  • 동적 범위 - 가장 높은 장면 광도와 가장 낮은 장면 광도의 비율
  • 키 - 장면 조명의 주관적 측정: 빛에서 보통, 어둡게까지 다양합니다.

RGB 값에서 광도를 계산하려면 다음을 사용합니다.

L = 0.27R + 0.67G + 0.06B;

로그 평균 광도는 장면의 키에 유용한 근사값입니다. 일반적인 수식은 다음과 같습니다.

Lw = exp[ 1 /N( sum[ log( delta + Lw( x, y ) ) ] ) ]

위치:

  • Lw - 로그 평균 광도
  • N - 이미지의 픽셀 수
  • delta - 검은색 픽셀 문제를 방지하기 위한 작은 요소
  • Lw( x, y ) - 픽셀의 세계 공간 광도( x, y )

중간 회색 값에 매핑하기 위해 광도 크기 조정 연산자는 다음과 같습니다.

L( x, y ) = a * Lw( x, y ) / Lw

위치:

  • L( x, y ) - 픽셀에 대한 스케일링된 광도( x, y )
  • a - 크기 조정을 적용한 후 이미지 키 값

마지막으로, 높은 광도를 압축하기 위한 간단한 톤 매핑 연산자는 다음과 같습니다.

Ld( x, y ) = L( x, y ) / ( 1 + L( x, y ) )

위치:

  • Ld( x, y ) - 픽셀에 대한 압축 및 크기 조정 광도( x, y )
  • a - 크기 조정을 적용한 후 이미지 키 값

이 연산자는 높은 광도를 1/L로, 낮은 광도를 1로 조정합니다. 자세한 내용은 다음 문서를 참조하세요.

라인하르트, 에릭, 마이크 스타크, 피터 셜리, 제임스 페르베르다. "디지털 이미지에 대한 사진 톤 재현". TOG(ACM Transactions on Graphics), 29th Annual Conference on Computer Graphics and Interactive Techniques (SIGGRAPH), pp. 267-276. 뉴욕, 뉴욕: ACM 프레스, 2002.

고급 항목