Shader之学习笔记六

加群获取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
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值