博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Unity 琐碎(2): Shader 颜色调试
阅读量:6938 次
发布时间:2019-06-27

本文共 1889 字,大约阅读时间需要 6 分钟。

Shader的调试有点蛋疼,最近在测试Image Effect中深度还原时,不知道输出的结论是否正确,后面就采取了这种策略。在物体上世界坐标位转换区间到[0,1],然后作为颜色进行输出。然后Image Effect shader中也采用类似的方式进行输出,通过颜色进行比较。需要注意的是:颜色区间,比如将世界坐标转换到颜色空间,可以按法线的方式先归一化转换到[-1,1],再转换到[0,1]。

类似的做法可以参考《Shader入门》第五章,,并且。

Shader "Unlit/ObjectTestColor"{    SubShader    {        Tags        {            "RenderType"="Opaque"         }        LOD 100        Pass        {            CGPROGRAM            #pragma vertex object_vert            #pragma fragment object_frag                    #include "UnityCG.cginc"            struct appdata            {                float4 vertex : POSITION;            };            struct v2f            {                float4 vertex : SV_POSITION;                float4 clippos : TEXCOORD0;                  float4 worldPos : TEXCOORD1;                  float4 depth : TEXCOORD2;              };                        v2f object_vert (appdata v)            {                v2f o;                o.vertex = mul(UNITY_MATRIX_MVP, v.vertex);                o.clippos = o.vertex ;                o.depth.x = COMPUTE_DEPTH_01;                o.worldPos =  mul(_Object2World, v.vertex);                return o;            }                        fixed4 object_frag (v2f i) : SV_Target            {                //NDC深度                //fixed4 ndc = i.clippos / i.clippos.w ;                //float d = ndc * 0.5 + 0.5 ;                //return fixed4(d,d,d,1);                //View空间深度                //float viewdDepth = i.depth.x * 10;                //return fixed4(viewdDepth,viewdDepth,viewdDepth,1)   ;                //世界坐标                float dis = length(i.worldPos.xyz);                float3 worldPos2 = i.worldPos.xyz/dis;                worldPos2 = worldPos2 * 0.5 + 0.5;                return fixed4(worldPos2,1);            }            ENDCG        }    }    FallBack "Diffuse"}

转载于:https://www.cnblogs.com/zsb517/p/6661951.html

你可能感兴趣的文章
Git基本操作
查看>>
《失业的程序员》语录(一)
查看>>
[BZOJ 3143][Hnoi2013]游走(高斯消元+期望)
查看>>
03-高级选择器
查看>>
06-jQuery的文档操作***
查看>>
red5 与tomcat集成配置 简单入门实例
查看>>
Vmware虚拟硬盘合并多个分割文件
查看>>
LeetCode-448. Find All Numbers Disappeared in an Array C#
查看>>
HDU 2364 (记忆化BFS搜索)
查看>>
紫书 例题 10-24 UVa 1641(面积计算)
查看>>
紫书 习题 10-21 UVa 1649 (组合数)
查看>>
js 函数常见的三种实例化方式
查看>>
js 点透
查看>>
猫 老鼠 人的编程题
查看>>
CodeForces 803E Roma and Poker
查看>>
CodeForces 609A USB Flash Drives
查看>>
当 better-scroll 遇见 Vue
查看>>
display:inline-block
查看>>
2018 MUltiU 9 dp / 8 upper_bound ; 构造?/
查看>>
[LUOGU] P2704 炮兵阵地
查看>>