openGL转png

发布于 2024-07-11 03:48:25 字数 132 浏览 10 评论 0原文

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

谢谢!

I'm trying to convert an openGL [edit: "card that I drew"(?):) thx unwind]containing a lot of textures (nothing moving) into one PNG file that I can use in another part of the framework I'm working with. Is there a C++ library that does that?

thanks!

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(3

眼趣 2024-07-18 03:48:25

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

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

If you simply mean "take a scene rendered by OpenGL and save it as an image," then it is fairly straightforward. You need to read the scene with glReadPixels(), and then convert that data to an image format such as PNG (http://www.opengl.org/resources/faq/technical/miscellaneous.htm).

There are also more efficient ways of achieving this, such as using FBOs. Instead of rendering the scene directly into the framebuffer, you can render it to a texture via an FBO, then render that texture as a full-screen quad. You can then take this texture and save it to a file (using glGetTexImage, for example).

简单爱 2024-07-18 03:48:25

什么是“OpenGL 文件”? OpenGL是一个图形API,它不指定任何文件格式。 你的意思是DDS文件还是什么?

What is an "OpenGL file"? OpenGL is a graphics API, it doesn't specify any file formats. Do you mean a DDS file, or something?

扛起拖把扫天下 2024-07-18 03:48:25

有比使用显卡绘制纹理更好的方法来制作组合纹理。 这确实是您在使用 cpu 之前需要做的事情,存储然后在需要时使用 opengl 来使用

There are better ways to make a compose texture than drawing them with the graphics card. This is really something you would want to do before hand on the cpu, store and then use as and when you need it with opengl

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文