Frage

Ich versuche, eine openGL zu konvertieren [edit: (?) „Karte, die ich zeichnete“ :) thx Abroller] eine Menge von Texturen, die (nichts bewegt) in eine PNG-Datei, die ich in einem anderen Teil der verwenden kann Rahmen arbeite ich mit. Gibt es eine C ++ Bibliothek, die das tut?

Danke!

War es hilfreich?

Lösung

Wenn Sie einfach nur bedeuten, „nimmt eine Szene von OpenGL gemacht und ihm als Bild speichern“, dann ist es ziemlich einfach ist. Sie müssen die Szene mit glReadPixels (), lesen und diese Daten dann in ein Bildformat konvertieren wie PNG ( http://www.opengl.org/resources/faq/technical/miscellaneous.htm ).

Darüber hinaus gibt es effizientere Wege, dies zu erreichen, wie die Verwendung von FBO s. Statt die Szene direkt in den Framebuffer-Rendering, können Sie es auf eine Textur über eine FBO machen, machen dann die Textur als Vollbild-Quad. Anschließend können Sie diese Textur nehmen und sie in einer Datei speichern (mit glGetTexImage , zum Beispiel).

Andere Tipps

Was ist eine "OpenGL-Datei"? OpenGL ist eine Grafik-API, es keine Dateiformate spezifiziert. Haben Sie eine DDS-Datei bedeuten, oder was?

Es gibt bessere Möglichkeiten, eine compose Textur zu machen, als sie mit der Grafikkarte zu ziehen. Das ist wirklich etwas, das Sie vor der Hand möchten auf der CPU, Speicher zu tun, und verwenden Sie dann, wie und wann Sie sie brauchen mit opengl

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top