一、先看一个效果然后慢慢解释
二、先贴出Shader代码再解释
Shader "Unlit/MyFirstShader"
{
Properties
{
_Color("Color", Color) = (1,1,1,1)
}
SubShader
{
Pass
{
CGPROGRAM
#pragma vertex vert
#pragma fragment frag
fixed4 _Color;
float4 vert ( float4 vertex : POSITION ) : SV_POSITION
{
return UnityObjectToClipPos(vertex);
}
fixed4 frag () : SV_Target
{
return _Color;
}
ENDCG
}
}
}
既然是顶点片断着色器,那么就要先定义好顶点着色器与片断着色器(也可以叫做像素着色器),告诉Unity分别在哪里去执行它们。
#pragma是Unity内置的编绎指令用的命令,在Pass中我们就利用此命令来声明所需要的顶点着色器与片断着色器。
- #pragma vertexname
定义顶点着色器为name,通常情况下会起名为vert。
- #pragma fragmentname
定义片断着色器为<