catlike中颜色分级和LUT的使用

该博客探讨了在Unity的自定义表面着色器渲染管线(SRP)中如何实现颜色分级,通过使用3D LUT(颜色查找表)来改变图像色调。然而,当前的方法在每帧都生成LUT,导致计算量较大。作者提出了如何通过shader将LUT烘焙成纹理,以减少实时计算的需求。示例代码展示了如何在Shader中应用LUT并生成颜色条带效果。
摘要由CSDN通过智能技术生成

个人觉得,https://catlikecoding.com/unity/tutorials/custom-srp/color-grading/
这里的LUT的使用,并没有降低任何的计算。
因为LUT的生成,是在每帧都生成的。并非离线bake出来的一个texture。

如何使用shader,bake出来一个颜色查找表呢?
3D的LUT,使用2D图进行表示。
在这里插入图片描述

绘制:
在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述
E:\OGL\custom-srp-13-color-grading\Library\PackageCache\com.unity.render-pipelines.core@7.3.1\ShaderLibrary\Color.hlsl
在这里插入图片描述
在这里插入图片描述

最后到摄像机:
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

测试:

fixed3 GetLutStripValue(float2 uv, float4 params)
{
	uv -= params.yz;
	fixed3 color;
	color.r = frac(uv.x * params.x);
	color.b = uv.x - color.r / params.x;
	color.g = uv.y;
	return color * params.w;
}
			
fixed4 frag (v2f i) : SV_Target
{
	float w = 16 * 16;
	float h = 16;
	float4 params = float4(h, 0.5f / w, 0.5f / h, h / (h - 1));
	fixed3 color = GetLutStripValue(i.uv, params);
	return fixed4(color.r, color.g, color.b, 1);
}

在这里插入图片描述
这个是标准没有任何滤镜的颜色条带。

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值