c++ - 将 OpenGL 转换为 PNG

标签 c++ opengl png ldf

我正在尝试将包含大量纹理(没有移动)的 openGL [编辑:“我画的卡片”(?):) thx unwind] 转换为一个 PNG 文件,我可以在另一部分中使用我正在使用的框架。是否有 C++ 库可以做到这一点?

谢谢!

最佳答案

如果您的意思只是“获取由 OpenGL 渲染的场景并将其保存为图像”,那么它相当简单。您需要使用 glReadPixels() 读取场景,然后将该数据转换为图像格式,例如 PNG (http://www.opengl.org/resources/faq/technical/miscellaneous.htm)。

还有更有效的方法可以实现这一点,例如使用 FBO秒。您可以通过 FBO 将场景渲染到纹理,然后将该纹理渲染为全屏四边形,而不是直接将场景渲染到帧缓冲区中。然后您可以获取此纹理并将其保存到文件中(例如使用 glGetTexImage )。

关于c++ - 将 OpenGL 转换为 PNG,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/371665/

相关文章:

opengl - 当窗口大小调整时,如何使 SDL 窗口中的 OpenGL 视口(viewport)保持静止?

c++ - 如何正确包含/安装 libpng?

c++ - 带指针的 Getter 和 Setter

c++ - 使用元数据标记 C++ 类实例

c++ - 指没有glGetUniformLocation的制服

java - 从透明 png Sprite 制作多边形的算法

c# - 托管 PNG 优化库可用吗?

c++ - 什么时候允许折叠表达式作为模板参数?

c++ - static_assert 依赖于类模板

java - 使用已弃用的 glTranslatef 还是使用 glBufferSubData 更新坐标更好?