高动态范围
高动态范围(HDR)是一项技术,这项技术可以产生图像,并且所产生图像的亮度的动态范围比使用标准动态范围(SDR)来得更广,它强调对颜色和光泽的真实绘制。
HDR的工作原理
通常在渲染过程中,像素的红绿蓝三个通道的值均是使用0到1之间的8位值进行存储,对于显示设备而言,0表示没有强度,1表示最大强度。这个限制了 颜色值的范围,并不能准确地反映现实生活中人们感知灯光的方式,以及在非常亮或者非常暗的情况下会导致不真实的图像的产生。
在HDR渲染过程中,像素值是浮点型。这意味着像素值可以有更大的选择范围,这样就可以更准确地表示人眼感知颜色和光泽的方式。
Unity中的HDR
在unity中,你可以使用HDR图像进行内部渲染计算,我们称这种方式为HDR渲染。当开启HDR渲染,unity会先将场景渲染进HDR图像缓冲区,然后再执行渲染操作,比如进行后处理,使用HDR图像等。言外之意就是说,在这些计算的执行过程中使用了可以产生极其逼真效果的数值。
在某些兼容的平台上,unity可以发送HDR图像到显示设备上。我们把这点称之为HDR输出
使用HDR的优点
- 在高亮度的情况下颜色不会丢失
- 可以获得更好的微光效果
- 减少低频照明域上的环带现象
使用HDR的缺点
- 增加了显存的使用率
- 额外的对于显示在屏幕上的颜色基调重映射的计算
- 与硬件消除锯齿的方式不兼容