1

我想要一些关于深度测试的特殊过程。首先,我想通过自己而不是GPU深度测试知道着色器中正确的深度计算。

如果我禁用深度测试,并写入深度缓冲区以达到与深度测试相同的效果:

像素着色器:

void main(void) {
    float depth = (position.z / position.w + 1.0) * 0.5
    gl_FragColor = vec4(depth, depth, depth, 1.0);
}

是正确的实施吗?不同的深度长度如何?(深度 16 或深度 24)

4

0 回答 0