到目前为止,在使用自定义 FBO 进行深度测试时,我一直在使用渲染缓冲区。现在我需要用深度纹理替换那些(因为我需要在着色器中读取它)。我正在查看像这里这样的不同来源,并看到 GL_FLOAT 用作数据类型。在其他示例中使用 GL_UNSIGNED_BYTE,有时甚至使用 GL_INT。内部格式也可以是 GL_DEPTH_COMPONENT16 、 GL_DEPTH_COMPONENT24 、 GL_DEPTH_COMPONENT32。
我的问题是哪种变体在性能和质量方面最好?我确信使用 32 位的深度组件,深度测试应该更精确,但是数据类型呢?通常应该使用哪一个?