对Shader一直比较感兴趣,开启学习,顺便把学习过程在此记录,程序猿在开启任何新语言的学习都会Say hello,好吧,今天表示正式和Shader问好 Hello Shader!
Shader "Custom/one/simple shader" {
SubShader {
pass{
CGPROGRAM
//定义顶点函数
#pragma vertex vert
//片元函数
#pragma fragment frag
// POSITION 是指定语义 返回的是float4类型变量 它是顶点在空间中的位置 这里是把模型的顶点参数填充到V中
// ?这里存在一个疑问,为什么空间坐标用float4类型存储
// SV_POSITION 代表顶点着色器输出是裁剪空间中的顶点坐标
float4 vert(float4 V:POSITION):SV_POSITION{
// UNITY_MATRIX_MVP 把顶点坐标从模型空间转换到裁剪空间中
return mul (UNITY_MATRIX_MVP,V);
}
// SV_Target 输出颜色存储到渲染目标中
fixed4 frag():SV_Target{
return fixed4(1.0,1.0,1.0,1.0);
}
ENDCG
}
}
}
中间有”?”疑问还没有解决,挖坑一个,希望以后能添上
1.粗略理解float4 是这个点的 x,y,z,w 四个值,其中xyz代表了点的位置坐标,w可能代表的是点的方向。