我的 OpenGL 应用程序需要模板和深度缓冲区。深度缓冲区至少需要通过帧缓冲区对象渲染到纹理,这样我就可以做延迟着色和其他后处理效果。我已经设置了这个帧缓冲区(使用 GL_DEPTH24_STENCIL8),但我有一些顾虑和问题。
首先,我想使用 32 位浮点深度缓冲区。GL_DEPTH32F_STENCIL8 选项似乎是最明显的。我想知道的是,这种格式的实际内存占用是多少?从逻辑上讲,它将是 40 位,但是知道我对对齐做了什么,如果他们将其填充到 64 位,我不会感到惊讶,而且许多消息来源说这正是发生的情况。我很想知道。
也许将深度和模板缓冲区分开对我来说会更好?我是否必须担心这不受支持?缓存效率如何,因为模板和深度测试经常一起执行?
PS。我没有使用多重采样。