ShaderLab 命令:ZTest

作者:追风剑情 发布于:2023-3-3 15:31 分类:Shader

设置几何体是否通过深度测试的条件。

深度测试可使具有 “Early-Z” 功能的 GPU 在管线早期拒绝几何体,并确保几何体的正确排序。通过改变深度测试的条件,您可以实现物体遮挡等视觉效果。

ZTest命令同时兼容内置渲染管线、通用渲染管线(URP)、高清渲染管线(HDRP)、自定义渲染管线(SRP)。

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

ZTest
功能
Less 绘制位于现有几何体前面的几何体。不绘制位于现有几何体相同距离或后面的几何体。
LEqual 绘制位于现有几何体前面或相同距离的几何体。不绘制位于现有几何体后面的几何体。这是默认值。
Equal 绘制位于现有几何体相同距离的几何体。不绘制位于现有几何体前面的或后面的几何体。
GEqual 绘制位于现有几何体后面或相同距离的几何体。不绘制位于现有几何体前面的几何体。
Greater 绘制位于现有几何体后面的几何体。不绘制位于现有几何体相同距离或前面的几何体。
NotEqual 绘制不位于现有几何体相同距离的几何体。不绘制位于现有几何体相同距离的几何体。
Always 不进行深度测试。绘制所有几何体,无论距离如何。
使用方式 ZTest LEqual

如果我们想让几何体始终显示在最上层,可以设置为 ZTest Always

标签: Shader

Powered by emlog  蜀ICP备18021003号-1   sitemap

川公网安备 51019002001593号