包含此页的版本:
不含此页的版本:
Unity 包含多个文件,着色器程序可以使用这些文件来引入预定义的变量和辅助函数。这是通过标准完成的#include指令,例如:
SubShader {
Pass {
HLSLPROGRAM
#include "UnityCG.cginc"
ENDHLSL
}
}
Unity 中的着色器包含文件与.cginc扩展,内置的有:
HLSLSupport.cginc:声明各种预处理器宏以帮助多平台着色器在 GPU 上运行的程序。更多信息CGPROGRAM.有关更多信息,请参阅 ShaderLab 参考中的着色器代码块。UnityShaderVariables.cginc:声明着色器中常用的各种内置全局变量。如果您使用CGPROGRAM.有关更多信息,请参阅 ShaderLab 参考中的着色器代码块。UnityCG.cginc:常用的内置辅助函数和数据结构。AutoLight.cginc:例如,照明和阴影功能表面着色器 为内置渲染管线编写着色器的简化方法。更多信息Lighting.cginc:标准表面着色器照明模型。如果您写入表面着色器,Unity 会自动包含此文件。TerrainEngine.cginc:辅助函数地形场景中的地形。地形游戏对象会向场景添加一个大型平面,您可以使用地形的检查器窗口创建详细的景观。更多信息注意:尽管着色器库文件具有 .cginc 文件扩展名,但它们是用 HLSL 而不是 CG 编写的。
如果您想查看任何帮助程序代码中到底做了什么,这些文件可以在 Unity 应用程序(Windows 上的 {unity 安装路径}/Data/CGIncludes/UnityCG.cginc,Mac 上的 /Applications/Unity/Unity.app/Contents/CGIncludes/UnityCG.cginc )中找到。