版本:Unity 6 (6000.0)
语言:English
在着色器中设置剔除模式
在着色器中设置深度裁剪模式

在着色器中设置深度偏差

深度偏差,也称为深度偏移,是 GPU 上的一个设置,用于确定绘制几何体的深度。调整深度偏差以强制 GPU 在与其他几何体深度相同的几何体之上绘制几何体。这可以帮助您避免不必要的视觉效果,例如 Z 冲突和阴影痤疮。

要为特定几何体设置深度偏差,请使用此命令或 RenderStateBlock。要设置影响所有几何体的全局深度偏差,请使用 CommandBuffer.SetGlobalDepthBias。GPU 会在全局深度偏差之外为特定几何体应用深度偏差。

要减少阴影痤疮,您可以使用灯光偏差设置获得类似的视觉效果;但是,这些设置的工作方式不同,并且它们不会更改 GPU 上的状态。有关更多信息,请参阅 阴影故障排除

示例

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

Shader "Examples/CommandExample"
{
    SubShader
    {
         // The rest of the code that defines the SubShader goes here.

        Pass
        {    
              // Sets the depth offset for this geometry so that the GPU draws this geometry closer to the camera
              // You would typically do this to avoid z-fighting
              Offset -1, -1

              // The rest of the code that defines the Pass goes here.
        }
    }
}

其他资源

在着色器中设置剔除模式
在着色器中设置深度裁剪模式