Unity内置文件和变量
内置文件
- 后缀为.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) | 把方向向量从世界空间变换到模型空间中 |
本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 雨夜!