Вопрос

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

Спасибо!

Это было полезно?

Решение

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

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

Другие советы

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

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

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top