【发布时间】:2012-01-13 01:42:58
【问题描述】:
我正在从片段着色器中将数据写入 3D 纹理,并且我需要将所述数据异步读回系统内存。异步启动打包操作到缓冲区对象的唯一方法似乎是使用NULL 指针调用glReadPixels()。但是这个函数坚持要传递一个定义要读回的区域的矩形。现在我不知道在使用 PBO 时是否会忽略这些参数,但我认为不会。在这种情况下,我不知道传递什么给这个函数以获得整个 3D 纹理。
即使必须读回单个切片(这将是一种愚蠢的 IMO),我仍然不知道如何与 OpenGL 通信以读取哪个切片。我错过了什么吗?
顺便说一句,我可以为每个切片使用单独的 2D 纹理,但如果我没记错的话,那会搞砸 (3D-)mipmapping。我想使用 3D mipmap 来有效地在生成的 3D 纹理中找到感兴趣的区域。
附:很抱歉标签不够理想,显然之前没有人问过 3d 纹理,因为我不允许创建新标签...
【问题讨论】:
标签: opengl render-to-texture pbo