스탠다드 렌더링에서는 픽셀의 빨간색, 초록색, 파란색 값이 각각 0–1 범위의 분수로 표시됩니다. 0은 밝기가 영(0)임을 나타내고, 1은 디스플레이 장치의 최대 밝기를 나타냅니다. 이 방법은 사용하기에는 직관적이지만 실제 씬에서 조명이 작동하는 방법을 정확하게 나타내지는 못합니다. 사람의 눈은 주변 조명에 적응하는 경향이 있으므로, 어두운 방안에서 흰색으로 보이는 물체라 하더라도 대낮의 밝은 빛 아래에서 회색으로 보이는 물체보다 밝지 않을 수 있습니다. 또한 사람의 눈은 밝은 쪽의 밝기보다 어두운 쪽의 밝기 차이에 더 민감하게 반응합니다.
픽셀 값의 범위가 실제 씬의 광원 레벨을 더 정확하게 표현하도록 렌더링을 조정하면 더욱 그럴듯한 시각 효과를 낼 수 있습니다. 이렇게 얻은 값도 결국에는 디스플레이 장치에서 사용 가능한 범위로 다시 매핑해야 하지만, Unity의 이미지 효과 등의 중간 연산에서는 실제와 가까운 결과를 얻을 수 있습니다. 그래픽스를 내부적으로 표현할 때 0–1 범위 밖의 값을 사용할 수 있도록 하는 것이 HDR(High Dynamic Range) 렌더링의 본질적인 의미입니다.
HDR은 Camera 컴포넌트의 설정을 사용하여 각 카메라별로 활성화할 수 있습니다.
HDR이 활성화되어 있으면 0–1 범위를 벗어나는 픽셀 값을 사용할 수 있는 HDR 이미지 버퍼에 씬이 렌더링됩니다. 이 버퍼는 포스트 프로세싱 스택에서 블룸 효과와 같은 포스트 프로세싱 효과에 사용됩니다. 그런 다음, HDR 이미지는 스탠다드 LDR(low dynamic range) 이미지로 변환된 후 전송되어 표시됩니다. 이 작업은 일반적으로 컬러 분류 파이프라인의 일부인 톤 매핑을 통해 수행됩니다. LDR 변환은 포스트프로세스 파이프라인의 특정 시점에 적용되어야 하지만, LDR 한정 포스트 프로세싱 효과를 나중에 적용할 예정이면 최종 단계가 아니어도 됩니다. 편의를 위해 일부 포스트 프로세싱 효과는 HDR 효과를 적용한 후 LDR로 자동 변환할 수 있습니다. (아래 스크립트 참조)
톤 매핑(Tonemapping)은 HDR 값을 LDR 범위 이내로 다시 매핑하는 프로세스입니다. 여러 다양한 기법이 있으며, 한 프로젝트에 효과적인 기법이 다른 프로젝트에는 최선이 아닐 수 있습니다. 다양한 톤 매핑 기법이 포스트 프로세싱 스택에 포함되었습니다. 에셋 스토어에서 포스트 프로세싱 스택을 다운로드하여 사용할 수 있습니다. 톤 매핑 타입에 대한 자세한 설명은 컬러 분류 문서에서 확인할 수 있습니다.
포워드 렌더링(Forward Rendering) 모드에서 HDR은 포스트 프로세싱 효과가 있을 때에만 지원됩니다. 성능을 고려해야 하기 때문입니다. 포스트 프로세싱 효과가 없으면 톤 매핑이 적용되지 않고 밝기 잘림이 발생합니다. 이 상황에서는 HDR이 지원되지 않는 백버퍼에 씬이 직접 렌더링됩니다.
HDR 모드에서 조명 버퍼는 부동 소수점 버퍼로 할당되므로 조명 버퍼에서 줄무늬가 감소합니다. 디퍼드 렌더링(Deferred Rendering)에서는 포스트 프로세싱 효과가 없어도 HDR이 지원됩니다.
ImageEffectTransformsToLDR 속성을 포스트 프로세싱 효과 스크립트에 추가하여 타겟 버퍼가 HDR이 아닌 LDR이어야 함을 나타낼 수 있습니다. 즉, 스크립트로 HDR 포스트 프로세싱 효과를 적용한 후 자동으로 LDR로 변환할 수 있습니다. 자세한 내용은 포스트 프로세싱 효과 작성을 참조하십시오.
Did you find this page useful? Please give it a rating:
Thanks for rating this page!
What kind of problem would you like to report?
Thanks for letting us know! This page has been marked for review based on your feedback.
If you have time, you can provide more information to help us fix the problem faster.
Provide more information
You've told us this page needs code samples. If you'd like to help us further, you could provide a code sample, or tell us about what kind of code sample you'd like to see:
You've told us there are code samples on this page which don't work. If you know how to fix it, or have something better we could use instead, please let us know:
You've told us there is information missing from this page. Please tell us more about what's missing:
You've told us there is incorrect information on this page. If you know what we should change to make it correct, please tell us:
You've told us this page has unclear or confusing information. Please tell us more about what you found unclear or confusing, or let us know how we could make it clearer:
You've told us there is a spelling or grammar error on this page. Please tell us what's wrong:
You've told us this page has a problem. Please tell us more about what's wrong:
Thank you for helping to make the Unity documentation better!
Your feedback has been submitted as a ticket for our documentation team to review.
We are not able to reply to every ticket submitted.