hdrp的后处理-颜色映射ColorGradingLUT

本文详细介绍了HDRP(High Definition Render Pipeline)中如何利用Computeshader进行颜色映射,以实现更生动的视觉效果。首先,颜色被转换到AlexaLogC色彩空间以进行亮度增强。接着,经过LMS色彩空间转换,应用_LMSColorBalance进行颜色调整。如果启用ACES色彩空间,会执行ACES_to_ACEScc和ACES_to_ACEScg转换。然后,通过Gamma空间模拟Adobe处理方式,调整阴影和高光,并在YRGB色彩空间中进行快速色彩变化。最后,使用不同的Tonemap模式如NeutralTonemap、CustomTonemap、ACEScg_to_ACES等进行映射,确保色彩的准确呈现。整个过程涉及到多个色彩空间的转换和计算,以实现高级的调色效果。

hdrp是通过computeshader来处理颜色映射的,让效果能够更生动。

执行的computeshader是PostProcessing下的LutBuilder3D.compute的KBuild内核。

AlexaLogC色彩空间

首先要将颜色值映射到AlexaLogC的空间,主要目的是要一个能到58.85666大小的颜色空间,方便后面计算。这个调色空间可以让色彩生成更明亮的效果。

 

如果_Params.x大于0则执行颜色映射,执行ColorGrade。

在ColorGrade里面首先为了计算正确先转到线性空间LogCToLinear。

LMS空间

然后会转到LMS色彩空间LinearToLMS,LMS空间是由人眼的三种锥体的响应表示的颜色空间,以其在长波长,中波长和短波长处的响应度(灵敏度)峰命名。

转到LMS后目的是乘上一个LMS三个颜色波长的偏移_ColorBalance。做完偏移计算再转回线性空间LMSToLinear。LMS合线性空间的转换都再Color.hlsl涨做的,实际上就是一个矩阵转换。

ACES空间

然后如果有用学院色彩空间ACES则执行ACES_to_ACEScc,这里主要是经验值转化。如果不用学院派色彩则直接转回LogC空间。

后面是对logC空间的值做一些

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值