Unity3D:ShaderLab 命令-Cull

推荐:将NSDT场景编辑器加入你的3D工具链
3D工具集:NSDT简石数字孪生

ShaderLab 命令:Cull

设置 GPU 应该基于多边形相对于摄像机的方向剔除哪些多边形。

剔除是确定不绘制什么的过程。剔除提高了渲染效率,因为不会浪费 GPU 时间来绘制在最终图像中不可见的内容。

默认情况下,GPU 执行背面剔除;这意味着它不绘制背对观察者的多边形。一般来说,渲染工作量减少得越多越好;因此,只在必要时才应更改此设置。

渲染管线兼容性

功能名称内置渲染管线通用渲染管线 (URP)高清渲染管线 (HDRP)自定义 SRP
Cull

用法

此命令会更改渲染状态。在 Pass 代码块中使用它可为该通道设置渲染状态,或者在 SubShader 代码块中使用它可为该子着色器中的所有通道设置渲染状态。

签名示例语法功能
Cull <state>Cull Back设置 GPU 应该基于多边形相对于摄像机的方向剔除哪些多边形。

有效参数值

参数功能
stateBack剔除背对摄像机的多边形。这称为背面剔除。

这是默认值。
Front剔除面向摄像机的多边形。这称为正面剔除。

使用它可翻转几何体。
Off不根据面朝的方向剔除多边形。

可用于实现特殊效果,如透明对象或双面墙。

示例

Shader "Examples/CommandExample"
{
    SubShader
    {
         // 此处是定义子着色器的代码的其余部分。

        Pass
        {    
              // 为此通道禁用剔除。
              // 这通常用于实现特殊效果,如透明对象或双面墙。
              Cull Off
            
              // 此处是定义通道的代码的其余部分。
        }
    }
}

此示例代码演示在 SubShader 代码块中使用此命令的语法。

Shader "Examples/CommandExample"
{
    SubShader
    {
         // 为此子着色器禁用剔除。
         // 这通常用于实现特殊效果,如透明对象或双面墙。
         Cull Off

         // 此处是定义子着色器的代码的其余部分。

        Pass
        {    
              // 此处是定义通道的代码的其余部分。
        }
    }
}

3D建模学习工作室整理翻译,转载请注明出处!

上一篇:Unity3D:ShaderLab 命令-Conservative (mvrlink.com)

下一篇:Unity3D:ShaderLab 命令-Offset (mvrlink.com)

NSDT场景编辑器 | NSDT 数字孪生 | GLTF在线编辑器 | 3D模型在线转换 | UnrealSynth虚幻合成数据生成器 | 3D模型自动纹理化工具
2023 power by nsdt©鄂ICP备2023000829号