OpenGL в PNG - PullRequest
       32

OpenGL в PNG

4 голосов
/ 16 декабря 2008

Я пытаюсь конвертировать openGL [править: «карту, которую я нарисовал» (?) :) thx unwind], содержащую много текстур (ничего не движется) в один файл PNG, который я могу использовать в другой части рамки, с которыми я работаю. Есть ли библиотека C ++, которая делает это?

спасибо!

Ответы [ 3 ]

11 голосов
/ 16 декабря 2008

Если вы просто имеете в виду «взять сцену, отрисованную OpenGL, и сохранить ее как изображение», то это довольно просто. Вам необходимо прочитать сцену с помощью glReadPixels (), а затем преобразовать эти данные в формат изображения, например PNG (http://www.opengl.org/resources/faq/technical/miscellaneous.htm).

Существуют также более эффективные способы достижения этого, например, использование FBO s. Вместо рендеринга сцены непосредственно в кадровый буфер, вы можете рендерить ее в текстуру через FBO, а затем рендерить эту текстуру как полноэкранный квад. Затем вы можете взять эту текстуру и сохранить ее в файл (например, используя glGetTexImage ).

1 голос
/ 16 декабря 2008

Есть лучшие способы сделать композицию текстуры, чем рисовать их с помощью видеокарты. Это действительно то, что вы хотели бы сделать перед тем, как передать процессор, сохранить, а затем использовать как и когда вам это нужно с opengl

1 голос
/ 16 декабря 2008

Что такое файл OpenGL? OpenGL - это графический API, он не определяет форматы файлов. Вы имеете в виду файл DDS или что-то еще?

...