我正在尝试将包含大量纹理(没有移动)的 openGL [编辑:“我画的卡片”(?):) thx unwind] 转换为一个 PNG 文件,我可以在框架的另一部分中使用该文件我正在与.有 C++ 库可以做到这一点吗?
thanks!
如果您的意思只是“获取由 OpenGL 渲染的场景并将其另存为图像”,那么它相当简单。您需要使用 glReadPixels() 读取场景,然后将该数据转换为图像格式,例如 PNG (http://www.opengl.org/resources/faq/technical/miscellaneous.htm http://www.opengl.org/resources/faq/technical/miscellaneous.htm).
还有更有效的方法可以实现这一目标,例如使用FBO http://www.songho.ca/opengl/gl_fbo.html#examples。您可以通过 FBO 将场景渲染为纹理,然后将该纹理渲染为全屏四边形,而不是将场景直接渲染到帧缓冲区中。然后,您可以获取该纹理并将其保存到文件中(使用glGetTexImage http://www.opengl.org/sdk/docs/man/xhtml/glGetTexImage.xml, 例如)。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)