Shader之学习笔记六

来源:互联网 发布:java的网络编程重要吗 编辑:程序博客网 时间:2024/06/04 22:46

加群获取unity引擎源代码580392083;

Shader "Unity Shaders Book/Chapter 5/FalseColor"{SubShader{Pass{CGPROGRAM#pragma vertex vert#pragma fragment frag //集合了最常用的函数、宏、结构体#include "UnityCG.cginc"//使用一个结构体来定义顶点着色器的输出struct v2f{float4 pos:SV_POSITION;//存储顶点在裁剪空间位置信息fixed4 color:COLOR0;};//顶点着色器和片元着色器之间的通信v2f vert(appdata_full v){v2f o;//定义一个输出对象o.pos = mul(UNITY_MATRIX_MVP,v.vertex); //UNITY_MATRIX_MVP观察模型投影矩阵//可视化法线方向o.color = fixed4(v.normal*0.5+fixed3(0.5,0.5,0.5),1.0);//可视化切线方向o.color = fixed4(v.tangent.xyz*0.5+fixed3(0.5,0.5,0.5),1.0);//可视化副切线方向fixed3 binormal = cross(v.normal,v.tangent.xyz)*v.tangent.w;o.color = fixed4(binormal*0.5+fixed3(0.5,0.5,0.5),1.0);    //可视化第一组纹理坐标o.color=fixed4(v.texcoord.xy,0.0,1.0);//可视化第二组纹理坐标o.color=fixed4(v.texcoord1.xy,0.0,1.0);    //可视化第一组纹理坐标的小数部分//frac-->fractional :部分的 该函数表示返回指定数据的小数部分//saturate : 把输入值限制到[0, 1]之间。//any:测试x的任何组件是否为非零o.color = frac(v.texcoord);if(any(saturate(v.texcoord)-v.texcoord)){o.color=0.5;}o.color.a=1.0;return o;}fixed4 frag(v2f i):SV_Target{return i.color;}ENDCG}}}





                                             
0 0
原创粉丝点击