内置文件

  • 后缀为.cginc
  • 路径:安装位置/Data/CGIncludes
文件名 描述
UnityCG.cginc 包含最常使用的帮助函数、宏和结构体
UnityShaderVariables.cginc 编译时会自动包含,包括许多内置的全局变量,比如UNITY_MATRIX_MVP
Lighting.cginc 包含内置光照模型,编写surface shader会自动包含
HLSLSupport.cginc 编译时会自动包含,生命很多跨平台的宏和定义
  • UnityCG.cginc常用结构体
名称 描述 包含的变量
appdata_base 顶点着色器输入 顶点位置,法线,第一组纹理坐标
appdata_tan 顶点着色器输入 顶点位置,法线,切线,第一组纹理坐标
appdata_full 顶点着色器输入 顶点位置,法线,切线,四组纹理坐标
appdata_img 顶点着色器输入 顶点位置,第一组纹理坐标
v2f_img 顶点着色器输出 裁剪空间位置,texcoord0纹理坐标
  • UnityCG.cginc常用帮助函数
函数名 描述
float3 (Unity)WorldSpaceViewDir(float4 v) 输入:模型空间顶点位置。输出:世界空间下该点到摄像机的观察方向
float3 ObjSpaceViewDir(float4 v) 输入:模型空间顶点位置。输出:模型空间下该点到摄像机的观察方向
float3 (Unity)WorldSpaceLightDir(float4 v) 只能用于向前渲染(forward),输入模型空间的顶点位置,返回世界空间该点到光源的光照方向,未归一化。
float3 ObjSpaceLightDir(float4 v) 只能用于向前渲染(forward),输入模型空间的顶点位置,返回模型空间该点到光源的光照方向,未归一化。
float3 UnityObjectToWorldNormal(float3 norm) 把法线方向从模型空间转换到世界空间中
float3 UnityObjectToWorldDir(float3 dir) 把方向向量从模型空间变换到世界空间中
float3 UnityWorldToObjectDir(float3 dir) 把方向向量从世界空间变换到模型空间中