Unity 包含一些文件,您的 着色器程序 可以使用这些文件来引入预定义变量和辅助函数。这可以通过标准的 #include
指令实现,例如:
CGPROGRAM
// ...
#include "UnityCG.cginc"
// ...
ENDCG
Unity 中的着色器包含文件扩展名为 .cginc
,内置文件为
HLSLSupport.cginc
- (自动包含) 它声明了各种 预处理器宏 来帮助进行跨平台 着色器在 GPU 上运行的程序。 更多信息UnityShaderVariables.cginc
- (在 CGPROGRAM 着色器中自动包含) 它声明了各种 内置全局变量,这些变量通常在着色器中使用。UnityCG.cginc
- 常用 内置辅助函数 和数据结构。AutoLight.cginc
- 照明和阴影功能,例如 表面着色器在内置渲染管线中编写着色器的一种简化方法。 更多信息Lighting.cginc
- 标准 表面着色器 照明模型;在编写表面着色器时自动包含。TerrainEngine.cginc
- 用于 地形场景中的地形。地形游戏对象将一个大的平面添加到您的场景中,您可以使用地形检查器窗口创建详细的地形。 更多信息这些文件位于 Unity 应用程序中 ({unity 安装路径}/Data/CGIncludes/UnityCG.cginc 在 Windows 上,/Applications/Unity/Unity.app/Contents/CGIncludes/UnityCG.cginc 在 Mac 上),如果您想查看任何辅助代码中到底做了什么。