#include xxx 指令可以把文件包括进来
文件名 | 描述 |
UnityCGginc | 包含了最常使用的帮助函数,宏和结构体等 |
UnityShaderVariables.cginc | 在编译Untiy shader的时候会自动包含进来。包含了许多内置的全局变量,如UNITY_MATRIX_MAP等 |
Lighting.cginc | 包含了各种内置的光照模型,如果编写的是surface shader会自动包括进来 |
HLSLSupport.cginc | 在编译Unityshader时,会被自动包含进来。声明了很多用于跨平台编译的宏和定义 |
函数名 | 描述 |
float3 WorldSpaceViewDir(flaot4 v) | 输入一个模型空间的顶点位置,返回世界空间中从该点到摄像机的观察方向 |
flaot3 ObjSpaceViewDir(float4 v) | 输入一个模型空间中的顶点位置,返回模型空间中从该点到摄像机的观察方向 |
float3 WorldSpaceLightDir(float4 v) | 仅用于前向渲染中,输入一个模型空间中的顶点位置,返回直接空间中从该点到光源的光照方向。没有被归一化 |
float3 ObjSpaceLightDir(float4 v) | 仅用于前向渲染中,输入一个模型空间中的顶点位置,返回模型空间中从该店到光源的光照方向。没有归一化 |
float3 UnityObjectToWorldNormal(float3 norm) | 把法线方向从模型空间转换到世界空间中 |
float3 UnityObjectToWorldDir(float3 dir) | 把方向矢量从模型空间变换到世界空间中 |
float3 UnityWorldToObjectDir(float3 dir) | 把方向矢量从世界空间变换到模型空间中 |
名称 | 说明 |
UNITY_MATRIX_MVP | 当前模型视图投影矩阵,通常用于把顶点/方向矢量从模型空间转换到裁剪空间 UnityObjectToClipPos |
UNITY_MATRIX_MV | 当前模型视图矩阵,通常用于把顶点/方向矢量从模型空间转换到视角(相机)空间 |
UNITY_MATRIX_V | 当前视图矩阵,通常用于把顶点/方向矢量从世界空间转换到视角(相机)空间 |
UNITY_MATRIX_P | 当前投影矩阵,通常用于把顶点/方向矢量从视角(相机)空间转换到裁剪空间 |
UNTIY_MATRIX_VP | 当前视图投影矩阵,通常用于把顶点/方向矢量从世界空间转换到裁剪空间 |
UNTIY_MATRIX_T_MV | UNITY_MATRIX_MV模型视图矩阵的转置 |
UNITY_MATRIX_IT_MV | 模型视图矩阵的逆转置,通常用于把法线从模型空间转换到视角(相机)空间 |
untiy_ObjectToWorld | 当前模型空间矩阵,通常用于把顶点/方向矢量从模型空间转换到世界空间 |
unity_WorldToObject | 当前世界空间矩阵,通常用于把顶点/方向矢量从世界空间转换到模型空间 |
TRANSFORM_TEX:对纹理进行缩放和偏移 TRANSFORM_TEX宏变量是UnityCG.cginc中定义的
UNITY_LIGHTMODEL_AMBIEND:可以得到环境光的颜色和强度信息