Action disabled: source

HDR (High Dynamic Range)

표준 랜더링(rendering)에서, 픽셀의 빨강, 초록, 파랑 값은 범위 0..1 내에서 분수로 표시되고, 여기서 0은 제로 강도를 나타내고 1은 해당 디스플레이 장치의 최대 강도를 나타냅니다. 이것은 사용이 매우 간단하지만, 그것이 실제 생활 장면에서 조명이 작동하는 방식을 정확하게 반영하지는 않습니다. 인간의 눈은 주변의 채광 상황에 적응하는 경향이 있어, 조명이 희미한 방에서 보이는 흰색의 물체는 실제로 강한 일광에서 회색으로 보이는 물체보다 덜 밝을 수 있습니다. 더구나, 눈은 높은 범위에서 보다 낮은 범위에서 빛의 차이에 더 민감합니다.

픽셀 값의 범위가 더 정확하게 실제 장면에서 존재하는 빛의 수준을 좀더 정확하게 반영하도록 적응하게 한다면 랜더링은 좀 더 설득력 있는 시각적 효과를 얻을 수 있습니다. 이 값들은 궁극적으로는 해당 디스플레이 장치에서 사용할 수 있는 범위로 매핑이 되어야 하지만, 모든 중간 계산(예: Unity의 이미지 효과)에서 보다 정확한 결과를 제공할 것 입니다. 그래픽의 내부 표시에서 0..1 범위 밖의 값을 허용하는 것이 _High Dynamic Range (HDR)_ 랜더링의 본질 입니다.

HDR 작업

HDR은 해당 카메라 컴포넌트의 설정을 사용하여 각 카메라 당 별도로 활성화되어 있습니다:-

HDR이 활성화 되면, 이 씬(scene)은 픽셀 값을 0..1 범위 밖에서도 수용할 수 있는 HDR 이미지 버퍼로 랜더링 됩니다. 그러면 이 버퍼는 HDR bloom와 같은 이미지 효과를 사용하여 후처리 됩니다. tonemapping은 HDR 이미지를 표준 저화질 다이내믹 범위(low dynamic range (LDR)) 이미지로 변환하여 디스플레이를 위해 전송합니다. 이 LDR 이미지로의 변환은 이미지 효과 파이프라인의 어느 시점에서는 적용될 수 밖에 없지만, 만일 LDR-전용 이미지 효과가 후에 적용될 것이라면 이 과정은 최종 단계에 실행되어야 합니다. 편의상, 일부 이미지 효과는 HDR 효과를 적용한 후 자동으로 LDR로 변환될 수 있습니다(아래 Scripting 을 참조).

Tonemapping

톤 매핑(Tonemapping)은 HDR 값은 LDR 범위로 복귀하여 매핑하는 과정입니다. 여기에는 다양한 기술이 존재하며, 한 프로젝트에서 좋은 기술이 다른 프로젝트에서 최상이 아닐 수도 있습니다. Unity에는 다양한 tonemapping 이미지 효과가 포함되어 왔습니다. 이들을 사용하려면, Assets → Import Package → Image Effects (Pro Only)을 선택하여 씬(scene) 내의 카메라를 선택하고, 그리고 Component → Image Effects →ToneMapping 을 선택합니다. tonemapping 타입에 대한 상세한 설명은 image effects documentation에서 찾을 수 있습니다.

HDR에서 매우 밝은 씬이 랜더링 되었습니다. Tonemapping 을 사용하여 밝음의 강도를 다시 디스플레이 할 수 있는 범위로 가져왔습니다.

HDR 블룸(Bloom)

HDR을 사용하면 후 처리에 더 많은 제어를 가능하게 합니다. LDR 블룸은 픽셀 강도가 1.0 이하일 경우 씬(scene)의 많은 영역을 흐리게 하는 바람직하지 못한 부작용을 낳습니다. HDR을 사용하면 그 강도가 1보다 큰 영역만 블룸(bloom)이 되게 할 수 있습니다. 이렇게 하면 씬의 아주 밝은 요소만 이웃하는 픽셀로 출혈하게 하는 훨씬 바람직한 결과를 가져올 수 있습니다. 내장된 'Bloom and Lens Flares' 이미지 효과는 이제 HDR도 지원합니다. 이를 카메라에 부착하려면 Assets → Import Package → Image Effects (Pro Only)을 선택하고, 씬 내 카메라를 선택한 후 Component → Image Effects →Bloom (Supports HDR and Lens Flare)을 선택합니다. 'Bloom and Lens Flares' 효과에 대한 상세한 설명을 보려면 image effects documentation을 참조하기 바랍니다.

1.0을 초과하는 강도에 블룸이 적용된 아주 밝은 씬. 이 블룸 이미지는 디스플레이 할 수 있는 강도로 다시 tonemapped 되어왔다.

HDR의 이점

*강도가 높은 구역의 색상이 손실이 없음 *개선된 색상 지원 *저 주차 채광구역에 banding의 감소

HDR의 단점

*부동 소수점 버퍼의 사용(랜더링이 느리고 더 많은 RAM이 필요함) *모든 하드웨어를 지원하지 않음

사용법 노트

전방 랜더링(Forward Rendering)

전방 랜더링 모드에서는, 사용자가 이미지 효과를 표시할 경우에만 HDR이 지원됩니다. 이는 성능을 고려한 사항입니다. 사용자가 이미지 효과를 표시하지 않으면 톤 맵핑(tone mapping)은 존재하지 않고 강도 저하가 발생할 것 입니다. 이 경우에는 씬은 backbuffer로 바로 랜더링 되며 HDR은 지원되지 않습니다.

지연 랜더링(Deferred Rendering)

HDR 모드에서 빛 전처리(light prepass) 버퍼 역시 부동 소수점 버퍼로 할당 됩니다. 이는 lighting 버퍼에서 밴딩(banding)을 감소시킵니다. 지연 랜더링에서는 이미지 효과가 없어도 HDR이 지원됩니다.

스크립트 작성(Scripting)

ImageEffectTransformsToLDR 속성은 대상 버퍼가 HDR 대신 LDR 이어야 한다는 것을 표시하기 위하여 이미지 효과 스크립트에 추가될 수 있습니다. 근본적으로, 이는 스크립트는 HDR 이미지 효과를 적용한 후 자동으로 LDR로 변환할 수 있다는 것을 의미합니다.

역링크