HDR(High Dynamic Range)은 SDR(Standard Dynamic Range)보다 광도 다이나믹 레인지가 더 큰 이미지를 생성하는 기술로, 컬러와 밝기를 사실적으로 묘사할 수 있습니다.
표준 렌더링에서 픽셀의 빨간색, 녹색, 파란색 값은 0과 1 사이의 8비트 값을 사용하여 저장됩니다. 여기서 0은 0의 강도를 나타내고, 1은 디스플레이 기기의 최대 강도를 나타냅니다. 이러한 제한된 값 범위는 현실에서 광원을 인식하는 방식을 정확하게 반영하지 못하며, 매우 밝거나 매우 어두운 요소가 있을 때 이미지가 비현실적으로 변할 수 있습니다.
HDR 렌더링에서 픽셀 값은 부동 소수점 숫자를 사용하여 저장됩니다. 이 방식은 훨씬 더 넓은 범위의 값을 허용하므로 인간의 눈이 컬러와 밝기를 인식하는 방식을 더욱 정확하게 반영합니다.
Unity에서는 내부 렌더링 계산에 HDR 이미지를 사용할 수 있습니다. 이 기능을 HDR 렌더링이라고 합니다. HDR 렌더링이 활성화되면 Unity는 씬을 HDR 이미지 버퍼로 렌더링하고, 해당 HDR 이미지를 사용하여 포스트 프로세싱 효과와 같은 렌더링 작업을 수행합니다. 즉 실제 값을 사용하여 계산을 수행하므로 더욱 사실적인 결과를 얻을 수 있습니다.
특정 호환 가능 플랫폼에서 Unity는 이러한 HDR 이미지를 디스플레이 기기로 보낼 수 있도록 지원합니다. 이 기능을 HDR 출력이라고 합니다.
HDR 사용의 장점
HDR 사용의 단점
렌더 파이프라인 | HDR 렌더링 | HDR 출력 |
---|---|---|
빌트인 렌더 파이프라인 | 예 인스펙터에서 또는 Camera.allowHDR API를 사용하여 카메라별 HDR 렌더링을 활성화합니다. HDR 렌더링을 활성화하고 그래픽스 설정 창에서 각 티어에 대한 HDR 버퍼의 포맷을 설정합니다. |
예, 특정 콘솔 플랫폼에서만 가능 더 자세한 내용은 플랫폼별 문서를 참조하십시오. |
유니버설 렌더 파이프라인(URP) | 예 인스펙터에서 또는 Camera.allowHDR API를 사용하여 카메라별 HDR 렌더링을 활성화합니다. 유니버설 렌더 파이프라인 에셋을 사용하여 모든 카메라에 대해 HDR 렌더링을 활성화합니다. |
연구 중 개발 팀이 이 기능을 구현하는 방법을 연구하고 있습니다. 릴리스 날짜는 미정입니다. |
고해상도 렌더 파이프라인(HDRP) | 예 HDR 렌더링은 기본적으로 모든 카메라에 대해 활성화되며, 비활성화할 수 없습니다. |
연구 중 개발 팀이 이 기능을 구현하는 방법을 연구하고 있습니다. 릴리스 날짜는 미정입니다. |
톤 매핑은 한 범위에서 다른 범위로 컬러 값을 매핑하는 프로세스입니다. HDR 작업 시 톤 매핑을 사용하여 HDR 이미지 버퍼의 컬러를 전환하여 값이 디스플레이 기기에서 처리할 수 있는 범위 내에 있도록 해야 합니다. 톤 매핑을 사용하지 않으면 매우 밝은 영역에서 이미지의 디테일 및 컬러 정보가 대부분 손실될 수 있습니다.
HDR 렌더링을 SDR 출력과 함께 사용하는 경우 톤 매핑을 사용하여 HDR 이미지 버퍼를 디스플레이용 SDR 이미지로 전환해야 합니다. Unity는 이러한 작업을 수행할 수 있도록 톤 매핑 포스트 프로세싱 효과를 제공합니다. 포스트 프로세싱 스택 V2 패키지, URP 통합 포스트 프로세싱 솔루션, HDRP 통합 포스트 프로세싱 솔루션에는 모두 톤 매핑 효과가 포함되어 있습니다.
지원되는 콘솔 플랫폼에 HDR 출력으로 렌더링하는 HDR을 사용하는 데 대한 자세한 내용은 플랫폼별 문서를 참조하십시오.
포워드 렌더링 경로에서 카메라는 카메라에 포스트 프로세싱 효과가 있는 경우에만 HDR을 지원합니다. 이는 성능 고려 사항 때문입니다. 카메라에 포스트 프로세싱 효과가 없으면 씬은 HDR이 지원되지 않는 백 버퍼로 직접 렌더링됩니다.
디퍼드 셰이딩 렌더링 경로에서 HDR이 카메라에 대해 활성화되지 않으면 라이팅 버퍼도 부동 소수점 버퍼로 할당됩니다. 이렇게 하면 라이팅 버퍼의 밴딩 현상이 줄어듭니다.