1.《unityshader中级篇》看懂一个最简单的顶点/片元着色器

1.我们已经清楚了unity shader的基本结构,它包含了shader,properties,subshader,fallback这样的语义块。看下面的结构。

1.《unityshader中级篇》看懂一个最简单的顶点/片元着色器_第1张图片

#pragma vertex vert

#pragma fragment frag

这两行编译指令告诉unity哪个函数包含了顶点着色器代码,哪个函数包含了片元着色器代码。

float4 vert(float4 v:POSITION):SV_POSITION{

return mul(UNITY_MATRIX_MVP,v);

}

POSITIONSV_POSITION都是CG中的语义,这些语义告诉用户需要输入或者输出是什么,例如在上面所示POSITION代表把模型空间的顶点坐标填充到输入参数v中,SV_POSITION 表明了顶点着色器的输出是裁剪空间中的顶点坐标。在这个函数中的操作就是把顶点坐标从模型空间转换到裁剪空间。

UNITY_MATRIX_MVP

UNITY_MATRIX_MVP矩阵是unity内置的模型观察投影矩阵。

fixed4 frag():SV_Target{

return fixed4(1,1,1,1)

}

SV_Targrt是HLSL中的一个语义,代表把用户的输出颜色存储到一个渲染目标中。

点击蓝色字体关注---》欢迎关注我的微博,闲暇之余给大家带来欢乐

你可能感兴趣的:(1.《unityshader中级篇》看懂一个最简单的顶点/片元着色器)