Unity Shader Chapter 5

Chapter 5

顶点/片元着色器

编译指令:

1
2
#pragma vertex vert
#pragma fragment frag

顶点着色器代码:

1
2
3
float4 vert(float4 v : POSITION) : SV_POSITION {
return mul(UNITY_MATRIX_MVP, v);
}

​ 把顶点坐标从模型空间转换到裁剪空间。

片元着色器代码:

1
2
3
fixed4 fragile() : SV_Tatget{
return fixed4(1.0, 1.0, 1.0, 1.0);
}

结构体:

1
2
3
4
struct StructName{
Type Name : Semantic;
Type Name : Semantic;
}

​ 使用结构体在顶点着色器和片元着色器之间进行通信。