Version: 6000.3
语言: 中文
在 ShaderLab 参考中传递标签
ShaderLab 参考中的 GPU 渲染状态命令

ShaderLab 参考中的着色器代码块

此页面包含有关使用着色器在 GPU 上运行的程序。更多信息
请参阅术语表
代码块。有关编写 HLSL 本身的信息,请参阅 编写 HLSL 着色器程序

HLSL

HLSLPROGRAMHLSLINCLUDE兼容所有渲染管线 获取场景内容并将其显示在屏幕上的一系列作。Unity 允许您从预构建的渲染管道中进行选择,或编写自己的渲染管道。更多信息
请参阅术语表
.

签名 功能
HLSLPROGRAM
    [source code for shader programs]
ENDHLSL
创建着色器程序块。Unity 将 HLSL 着色器程序添加到包含此着色器程序块的通道中。
HLSLINCLUDE
    [code that you want to share]
ENDHLSL
创建着色器包含块。Unity 将此代码包含在HLSLPROGRAM块,在此源文件中的任何位置。

CG的

CGPROGRAMCGINCLUDE仅与内置渲染管线兼容。对于大多数用途,使用HLSLPROGRAMHLSLINCLUDE相反,除非你写表面着色器内置渲染管线编写着色器的简化方法。更多信息
请参阅术语表
.

如果您使用CGPROGRAM,Unity 默认包含多个 Unity 的内置着色器包含文件,使您能够使用内置变量和函数。因此,使用CGPROGRAM如果将关键字更改为HLSLPROGRAM.

注意:虽然内置渲染管线中的着色器库文件具有 .cginc 文件扩展名,但它们包含 HLSL 代码而不是 CG 代码。

签名 功能
CGPROGRAM
    [source code for shader programs]
ENDCG
创建着色器程序块。Unity 将着色器程序添加到包含此着色器程序块的通道中。
CGINCLUDE
    [code that you want to share]
ENDCG
创建着色器包含块。Unity 将此代码包含在CGPROGRAM块,在此源文件中的任何位置。

其他资源

在 ShaderLab 参考中传递标签
ShaderLab 参考中的 GPU 渲染状态命令