我想读取渲染到帧缓冲对象的场景的深度分量。我最初使用glReadPixels(),但发现它只能从默认帧缓冲区读取像素。
该网站上一些相关问题的答案建议使用PBO,但我还没有尝试过。似乎PBO读数是异步的,因此,使用哪个命令可以在末尾同步读数?
PBO不会在这里为您提供帮助,因为这些只是读入缓冲区的另一种类型(而不是主机上的内存,而不是OpenGL实现的内存)。
使深度组件在OpenGL中向后可读的通常方法是使用深度纹理,将其附加到深度附件,并在使用glGetTexImage渲染后检索日期。
如果是普通的颜色附件,则可以在调用glReadBuffer之前使用glReadPixels来选择GL_COLOR_ATTACHMENT<i>
绑定的FBO。
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句