[计算机图形学09]Unity提供的内置文件

包含文件

文件名 描述
UnityCG.cginc 包含了最常使用的帮助函数,宏和结构体
UnityShaderVariables.cginc 在编译Unity Shader时,会被自动包含进来。包含了许多内置的全局变量,如UNITY_MATRIX_MVP
Lighting.cginc 包含了各种内置的光照模型,如果编写的是Surface Shader的话,会自动包含进来。
HLSLSupport.cginc 在编译Unity Shader时,会被自动包含进来。声明了很多用于跨平台编译的宏和定义。

UnityCG.cginc是我们最常接触的一个包含文件。我们使用很多该文件提供的结构体和函数,为我们的编写提供方便。例如,我们可以直接使用UnityCG.cginc中预定义的结构体作为顶点的输入输出。

名称 描述 包含的变量
appdata_base 可用于顶点着色器的输入 顶点位置,顶点法线,第一组纹理坐标
appdata_tan 可用于顶点着色器的输入 顶点位置,顶点切线,顶点法线,第一组纹理坐标
appdata_full 可用于顶点着色器的输入 顶点位置,顶点切线,顶点法线,四组(或更多)纹理坐标
appdata_img 可用于顶点着色器的输入 顶点位置,第一组纹理坐标
v2f_img 可用于顶点着色器的输出 裁剪空间中位置,纹理坐标

语义

我们刚才看到的SV_POSITIONPOSITIONCOLOR0都是语义(Semantics)。语义实际上就是一个赋给Shader输入和

语义 描述
POSITION 模型空间中的顶点位置,通常是float4类型
NORMAL 顶点法线,通常是float3类型
TANGENT 顶点切线,通常是float4类型
TEXCOORDn 该顶点的纹理坐标,通常是float2或float4类型
COLOR 顶点颜色,通常是fixed4或float4类型
语义 描述
SV_POSITION 裁剪空间中的顶点坐标。
COLOR0 通常用于输出第一组顶点颜色,但不是必需的
COLOR1 通常用于输出第二组顶点颜色,但不是必需的
TEXCOORD0 通常用于输出纹理坐标

你可能感兴趣的:(图形学)