格式
c++
#pragma ztest [CF]描述
执行该命令用于设置该 着色器(Shader)内容 深度测试(Z Test)通过或失败的条件。
深度测试(Z Test)指的是针对当前着色器(Shader)渲染的内容在 帧缓冲(Frame Buffer)对应的像素点,将对应片元的深度值与该像素点缓存的深度值进行比较,如果通过了,该像素点才会将颜色写入 颜色缓冲(Color Buffer)区,否则不会写入 颜色缓冲(Color Buffer)即设备屏幕的最终显示效果。
字段
| 字段名 | 是否必须 | 字段值 | 描述 |
| [CF] | 是 | greater | 仅渲染参考值大于 帧缓冲(Frame Buffer)区深度值的像素。即绘制比现有几何图形距离摄像机更远的几何图形;不绘制与现有几何图形距离摄像机相同或比现有几何图形更靠近摄像机的几何图形。 |
gEqual | 仅渲染参考值大于或等于 帧缓冲(Frame Buffer)区深度值的像素。即绘制比现有几何图形距离摄像机更远或与现有几何图形距离摄像机相同的几何图形;不绘制比现有几何图形更靠近摄像机的几何图形。 | ||
less | 仅渲染参考值小于 帧缓冲(Frame Buffer)区深度值的像素。即绘制比现有几何图形更靠近摄像机的几何图形;不绘制与现有几何图形相同距离或位于现有几何图形距离摄像机更远的几何图形。 | ||
lEqual | 仅渲染参考值小于或等于 帧缓冲(Frame Buffer)区深度值的像素。即绘制比现有几何图形更靠近摄像机或与现有几何图形相同距离的几何图形;不绘制比现有几何图形距离摄像机更远的几何图形。 | ||
equal | 仅渲染参考值等于 帧缓冲(Frame Buffer)区深度值的像素。即只绘制与现有几何图形距离摄像机相同的几何图形;不绘制与现有几何体距离摄像机不同的几何体。 | ||
notEqual | 仅渲染参考值不同于 帧缓冲(Frame Buffer)区深度值的像素。即只绘制与现有几何体距离摄像机不同的几何体;不绘制与现有几何体距离摄像机相同的几何体。 | ||
always | 不进行 深度测试(Z Test)并比较结果始终为通过状态。即始终绘制 着色器(Shader)内容,无论距离如何。 | ||
never | 使 深度测试(Z Test)始终失败,无论距离如何,都不会绘制 着色器(Shader)内容。 | ||
off | 禁用 深度测试(Z Test)比较函数。 |
代码示例
c++
#pragma ztest equal