【发布时间】:2012-10-12 11:07:47
【问题描述】:
简而言之:我需要一种快速的方法来调整缓冲区图像的大小,然后将像素返回给我以将它们保存到文件等中。
目前我首先使用 glReadPixels(),然后我自己通过像素来使用自己的 resize 函数调整它们的大小。
有什么方法可以加快调整大小,例如让 OpenGL 为我完成这项工作?我想我可以在启用 miplevel 和 mipmapping 的情况下使用 glGetTexImage(),但正如我之前注意到的,该功能在我的 GFX 卡上存在错误,所以我无法使用它。
我只需要一个 miplevel,可以是 1 到 4 之间的任何值,但不是全部,以节省一些 GPU 内存。那么是否可以只生成一个所需大小的 miplevel?
注意:我不认为我可以使用多重采样,因为我需要像素精确的渲染来进行模板测试,所以如果我使用多重采样渲染它,它会使像素变得模糊,并且模板测试会失败并且掩蔽和结果将不正确(AFAIK)。 编辑:我只想缩放颜色(RGBA)缓冲区!
【问题讨论】:
标签: c++ opengl fbo render-to-texture mipmaps