2008-12-16 8 views
4

J'essaie de convertir une carte openGL [edit: "que j'ai dessinée" (?) :) thx unwind] contenant beaucoup de textures (rien ne bouge) en un fichier PNG que je peux utiliser dans un autre partie du cadre avec lequel je travaille. Y at-il une bibliothèque C++ qui fait cela?openGL en png

merci!

+0

Que signifie "carte que j'ai dessinée"? –

+0

c'est une scène statique et constante qui ressemble à une carte ... – majdal

Répondre

10

Si vous voulez simplement "prendre une scène rendue par OpenGL et l'enregistrer sous forme d'image", vous pouvez le faire avec OpenGL. alors c'est assez simple. Vous devez lire la scène avec glReadPixels(), puis convertir ces données dans un format d'image tel que PNG (http://www.opengl.org/resources/faq/technical/miscellaneous.htm).

Il existe également des moyens plus efficaces d'y parvenir, tels que l'utilisation de FBO s. Au lieu de rendre la scène directement dans le framebuffer, vous pouvez le rendre à une texture via un FBO, puis rendre cette texture en quad full screen. Vous pouvez ensuite prendre cette texture et l'enregistrer dans un fichier (en utilisant glGetTexImage, par exemple).

1

Qu'est-ce qu'un fichier "OpenGL"? OpenGL est une API graphique, elle ne spécifie aucun format de fichier. Voulez-vous dire un fichier DDS, ou quelque chose?

1

Il existe de meilleurs moyens de créer une texture de composition que de les dessiner avec la carte graphique.

+0

Pouvez-vous me dire comment je ferais cela? – majdal