glReadPixels 的 OpenGL DSA 等效项
Posted
技术标签:
【中文标题】glReadPixels 的 OpenGL DSA 等效项【英文标题】:OpenGL DSA equivalent for glReadPixels 【发布时间】:2021-05-21 13:34:46 【问题描述】:我正在尝试从附加到未绑定帧缓冲区的渲染缓冲区中检索像素值。
由于我试图避免在读取所述值时更改全局状态,因此我无法使用glReadPixels([...])
,它通常用于从当前绑定的帧缓冲区中读取像素。
DirectStateAccess
方法通常可以解决这个问题,但我找不到允许直接指定读取操作源的方法。
是否可以以不同的方式读取像素,而不必绑定关联的Framebuffer
?为什么这个方法没有被包含在 DSA 扩展中?
【问题讨论】:
"来自附加到未绑定帧缓冲区的渲染缓冲区的像素值。" 绑定时无法读取是否有原因? 【参考方案1】:如果帧缓冲区附件是Texture 而不是Rrenderbuffer,则可以使用glGetTextureImage
从纹理对象而不是帧缓冲区中读取像素数据。
【讨论】:
以上是关于glReadPixels 的 OpenGL DSA 等效项的主要内容,如果未能解决你的问题,请参考以下文章
在 Opengl ES 中在 FBO 上调用多个 glReadPixels 和 glDrawArrays