图形 2.7 LDR与HDR

您所在的位置:网站首页 unity中的hdr和ldr 图形 2.7 LDR与HDR

图形 2.7 LDR与HDR

#图形 2.7 LDR与HDR| 来源: 网络整理| 查看: 265

 

 

Unity中的HDR

 

  调整Camera的HDR选项。开启的话,Camera会将场景渲染为HDR图像缓冲区,然后进行屏幕后处理:Bloom&Tonemapping。Tonemapping会将HDR图像再转换回LDR,最后再将LDR图像发送回显示器。

 

  URP自定义渲染管线将场景渲染为HDR图像缓冲区,进行屏幕后处理:Bloom&Tonemapping。Tonemapping转换回LDR,最后把LDR图像发送回显示器。

 

  shader中为color变量加上[HDR]属性前缀,可以将拾色器变为HDR拾色器。HDR拾色器多了一行Intensity配置。使用Intensity滑条可以调整颜色强度,滑动条每增加1,则提供的光量增加一倍。

 

HDR的优点:

滑动条每增加1,则提供的光量增加一倍 减少画面较暗部分的色阶感 更好地支持Bloom

HDR的缺点:

渲染速度较慢,需要更多的显存 ,这里增加了Tonemapping的操作 不支持硬件抗锯齿 部分手机不支持

 

 

HDR与Bloom

 

  HDR和Bloom的区别是常考题呢(

  HDR制作的出的效果其实Bloom制作的效果相差不大,但是它们使用技术却大相径庭。HDR效果本质是比1更亮的颜色和比0更暗的颜色的结合,这个效果是光照计算自然产生的,强度、颜色等方面是游戏程序可动态控制的;bloom效果则是物体本身发出的光照,仅仅是将光照范围调高到过饱和,是游戏程序无法动态控制。

  bloom的本质实际上是将画面中较亮的颜色(用程序规定什么是较亮的颜色)提取出来进行高斯模糊,然后再和原图叠加。这个效果无需HDR就可以实现,而且不受显卡的规格限制。但是这个效果非常受限制,因为bloom无论怎样还是只有8位通道,而HDR最高能支持到32位RGBA。

  

 

   不过事实上unity的流程会有点不一样,会在第一步down sample(降采样),然后高光像素不同的down sample并保存在RT到一定的次数(这个次数由参数控制),再一步一步up(上采样)回去。而在up回去时会将之前的down sample加入每步对应的up sample至回到原来的分辨率。

 

 

HDR与Tonemapping

 

  之前提到我们最终要把渲染出的HDR图像最后转回LDR来输出到屏幕上,这个部分使用的技术就是Tonemapping,也就是色调映射。色调映射算法就是指对图像颜色进行映射变换的算法,调整图像的灰度,使得处理后的图像人眼看起来更加舒适,能更好的表达原图里的信息与特征。

  如果直接线性映射回去会怎样:

 

  可以发现映射回去的图像完全不符合哦我们的预期,因此我们需要采用一种非线性的方式来进行映射,比如ACES曲线。

  ACES曲线是指Academy Color Encoding System学院颜色编码系统,是最流行、最被广泛使用的ToneMapping映射曲线,它能很好的保留暗部和亮部的细节,也可以之后在这个基础上再进行调色。

 

其他ToneMapping曲线:

2002年 Reinhard Curve 2007年 CE Curve 2010年 Flimic Curve

 

 

LookUp Texture

 

  LookUp Texture,LUT。在Color Grading的All None模式中有LUT,简单说就是滤镜。但是LUT与Tonemapping不同,LUT在LDR之间做变换,而Tonemapping是在HDR做变化。调整rgb三个通道的LUT被称为3D LUT,格式有3DL、CUBE、CSP、ICC配置文件。

 

 

扩展作业

IBL在HDR和LDR上的区别?

  IBL,指基于图像的光照(Image-Based Lighting)。即将一张作为环境贴图的CubeMap来作为光源,以实现物体融入环境的效果。它和之前我们在传统经验光照模型中手动设置环境光有很大不同,使用CubeMap来作为光源可以看作一个小的球体包裹了这个场景,球面上的所有方向都有光线传来,因此我们要考虑球面上的所有方向来得到一个真正的积分结果。

  而在先行版的PBR中使用IBL有个需要注意的地方,我觉得需要从能量守恒的角度来考虑,即光照中能表示光照强度的量。因此在HDR和LDR上的区别应该从这个方面来考虑,比如太阳光这种强烈的光,HDR会试图保存它的HDR颜色来表现光照强度,但是LDR中这个光照强度会被截断成1,这样我们这部分的光线能量就会损失掉,自然也就违背了能量守恒。那么被LDR截断成1代表着什么呢,意味着最后我们损失了一部分的光线,导致的结果自然就是场景会变的更暗。也就是说相比于HDR,LDR非常不适合用来还原光照环境,这样的环境贴图单纯用于视觉输出还可以,但是用在PBR环境光的输入参数上就会造成错误的效果。

 

左边为HDR探球,右边为LDR探球

 

开启Bloom,对比更加明显

 

 

 

参考

 

【技术美术百人计划先行】基础渲染光照介绍(一)

【技术美术百人计划】图形 2.7 LDR与HDR

HDR和bloom效果的区别和关系

 

跳转回百人合集



【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3