API
HDR 컬러 피커

HDR 렌더링

스탠다드 렌더링에서는 픽셀의 빨간색, 초록색, 파란색 값이 각각 0–1 범위의 분수로 표시됩니다. 0은 밝기가 영(0)임을 나타내고, 1은 디스플레이 장치의 최대 밝기를 나타냅니다. 이 방법은 사용하기에는 직관적이지만 실제 씬에서 조명이 작동하는 방법을 정확하게 나타내지는 못합니다. 사람의 눈은 주변 조명에 적응하는 경향이 있으므로, 어두운 방안에서 흰색으로 보이는 물체라 하더라도 대낮의 밝은 빛 아래에서 회색으로 보이는 물체보다 밝지 않을 수 있습니다. 또한 사람의 눈은 밝은 쪽의 밝기보다 어두운 쪽의 밝기 차이에 더 민감하게 반응합니다.

픽셀 값의 범위가 실제 씬의 광원 레벨을 더 정확하게 표현하도록 렌더링을 조정하면 더욱 그럴듯한 시각 효과를 낼 수 있습니다. 이렇게 얻은 값도 결국에는 디스플레이 장치에서 사용 가능한 범위로 다시 매핑해야 하지만, Unity의 이미지 효과 등의 중간 연산에서는 실제와 가까운 결과를 얻을 수 있습니다. 그래픽스를 내부적으로 표현할 때 0–1 범위 밖의 값을 사용할 수 있도록 하는 것이 HDR(High Dynamic Range) 렌더링의 본질적인 의미입니다.

HDR 작업

HDR은 Camera 컴포넌트의 설정을 사용하여 각 카메라별로 활성화할 수 있습니다.

HDR이 활성화되어 있으면 0–1 범위를 벗어나는 픽셀 값을 사용할 수 있는 HDR 이미지 버퍼에 씬이 렌더링됩니다. 이 버퍼는 포스트 프로세싱 스택에서 블룸 효과와 같은 포스트 프로세싱 효과에 사용됩니다. 그런 다음, HDR 이미지는 스탠다드 LDR(low dynamic range) 이미지로 변환된 후 전송되어 표시됩니다. 이 작업은 일반적으로 컬러 분류 파이프라인의 일부인 톤 매핑을 통해 수행됩니다. LDR 변환은 포스트프로세스 파이프라인의 특정 시점에 적용되어야 하지만, LDR 한정 포스트 프로세싱 효과를 나중에 적용할 예정이면 최종 단계가 아니어도 됩니다. 편의를 위해 일부 포스트 프로세싱 효과는 HDR 효과를 적용한 후 LDR로 자동 변환할 수 있습니다. (아래 스크립트 참조)

톤 매핑

톤 매핑(Tonemapping)은 HDR 값을 LDR 범위 이내로 다시 매핑하는 프로세스입니다. 여러 다양한 기법이 있으며, 한 프로젝트에 효과적인 기법이 다른 프로젝트에는 최선이 아닐 수 있습니다. 다양한 톤 매핑 기법이 포스트 프로세싱 스택에 포함되었습니다. 에셋 스토어에서 포스트 프로세싱 스택을 다운로드하여 사용할 수 있습니다. 톤 매핑 타입에 대한 자세한 설명은 컬러 분류 문서에서 확인할 수 있습니다.

HDR로 렌더링된 특별히 밝은 씬. 톤 매핑 없이는 대부분의 픽셀이 범위를 벗어난 것처럼 보입니다.
HDR로 렌더링된 특별히 밝은 씬. 톤 매핑 없이는 대부분의 픽셀이 범위를 벗어난 것처럼 보입니다.
위와 같은 씬이지만, 이번에는 톤 매핑이 적용되어 밝기가 더 사실적인 범위 안에서 표현되었습니다. 적응적 톤 매핑은 첫 번째 이미지와 두 번째 이미지 사이에서 적절하게 블렌드할 수 있으므로 시각 인식 매체(예: 눈, 카메라 등)의 적응적 성격을 시뮬레이션할 수 있습니다.
위와 같은 씬이지만, 이번에는 톤 매핑이 적용되어 밝기가 더 사실적인 범위 안에서 표현되었습니다. 적응적 톤 매핑은 첫 번째 이미지와 두 번째 이미지 사이에서 적절하게 블렌드할 수 있으므로 시각 인식 매체(예: 눈, 카메라 등)의 적응적 성격을 시뮬레이션할 수 있습니다.

HDR의 장점

  • 밝은 영역에서 컬러 손실이 발생하지 않습니다.
  • 블룸 및 글로우 효과를 잘 지원합니다.
  • 단조로운 조명 영역에서 줄무늬가 감소합니다.

HDR의 단점

  • 부동 소수점 렌더 텍스처(렌더링이 느리고 더 많은 VRAM 필요)를 사용해야 합니다.
  • 하드웨어 안티앨리어싱을 지원하지 않습니다. 다만, 안티앨리어싱 포스트 프로세싱 효과를 사용하여 가장자리를 매끄럽게 할 수 있습니다.
  • 일부 하드웨어에서는 지원되지 않습니다.

사용 시 주의사항

포워드 렌더링

포워드 렌더링(Forward Rendering) 모드에서 HDR은 포스트 프로세싱 효과가 있을 때에만 지원됩니다. 성능을 고려해야 하기 때문입니다. 포스트 프로세싱 효과가 없으면 톤 매핑이 적용되지 않고 밝기 잘림이 발생합니다. 이 상황에서는 HDR이 지원되지 않는 백버퍼에 씬이 직접 렌더링됩니다.

디퍼드 렌더링

HDR 모드에서 조명 버퍼는 부동 소수점 버퍼로 할당되므로 조명 버퍼에서 줄무늬가 감소합니다. 디퍼드 렌더링(Deferred Rendering)에서는 포스트 프로세싱 효과가 없어도 HDR이 지원됩니다.

스크립트

ImageEffectTransformsToLDR 속성을 포스트 프로세싱 효과 스크립트에 추가하여 타겟 버퍼가 HDR이 아닌 LDR이어야 함을 나타낼 수 있습니다. 즉, 스크립트로 HDR 포스트 프로세싱 효과를 적용한 후 자동으로 LDR로 변환할 수 있습니다. 자세한 내용은 포스트 프로세싱 효과 작성을 참조하십시오.

참고 항목

HDR 컬러 피커

API
HDR 컬러 피커