unity后处理Bloom与HDR和ColorGrade,ToneMapping

本文详细介绍了Unity中高动态范围(HDR)格式,包括其与非HDR的区别,以及在DrawCall过程中的表现。文章还探讨了Luminance函数,以及在Bloom效果中如何通过阈值控制处理。ToneMapping用于将HDR转换为低动态范围(LDR)显示。颜色分级方面,涵盖了后曝光、对比度、滤镜、色调偏移和饱和度的调整步骤,以实现丰富的图像效果。文章最后提供了相关代码和工程链接以供参考。

(1)HDR的格式: 在unity中是 RGBA 每个通道16位
非HDR: 每个通道8位
在这里插入图片描述
在这里插入图片描述
(2)逐步执行DrawCall时,你会注意到场景看起来比最终结果要暗。发生这种情况是因为这些步骤存储在HDR纹理中。由于线性颜色数据按原样显示,因此看起来很暗,它错误地解释为sRGB。
在这里插入图片描述
(3)Luminance函数: 客观测量发光体的亮度,是个客观值
函数: luminance = 0.2125 * Red + 0.7154 * Green + 0.0721 * Blue;

在这里插入图片描述
代码和逻辑真的懒得粘贴了,工程中都有

(3)bloom 中控制阈值threshold = 1: 即 只有颜色值大于1的才会被处理(HDR)

用ToneMapping 将HDR 最后转换到 LDR 显示

最后的关系 : Bloom 作用HDR 的结果 , 然后 被 ToneMapping 转化为LDR

所以 Bloom 和 HDR , ToneMapping 三者的关系非常密切
最后附上详细解释:
Bloom解释
ToneMapping解释
最后附上git工程:git工程链接

(4)颜色分级:
Color Grading
调整图像颜色共3步:
(1) 颜色校正: 目的是 使图像与观察场景时的图像相匹配
(2)颜色分级: 对最终图像进行颜色和亮度的改变和矫正 ,可以理解为增加滤镜
以上两步可以合并为一个颜色分级的步骤
(3)色调映射: 将HDR颜色映射到显示范围。

仅应用色调映射的图像 往往不那么丰富多彩, 除非图像非常明亮
ACES可以稍微增加深色的对比度,但是不能替代颜色分级。




关于在“颜色分级中的详细步骤:

(1)后曝

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值