Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > C/C++: Мультимедия, OpenGL/DirectX > OpenGL: Как получить изображение с камеры


Автор: bidziil 20.9.2010, 20:29
Доброго времени суток!
Помогите мне, пожалуйста, создать камеру, но не с помощью gluLookAt и получить с этой камеры изображение. В данный момент у меня есть сцена которая отображается в окне. Главный вид на сцену настроен с помощью gluLookAt. Нельзя трогать этот вид. Но мне позарез нужно изображение с другого вида. Я могу сделать это опять через gluLookAt и потом считать изображение с помощью функции glReadPixels, но тогда после вызова gluLookAt главный вид поменяется. Как решить эту проблему?

Автор: Amp 20.9.2010, 21:11
Правильнее всего создать внеэкранный буфер - http://en.wikipedia.org/wiki/Framebuffer_Object и рендерить все в текстуру, glReadPixels может не очень хорошо повлиять не производительность.

Не помню, будет ли работать - отрисовать сцену с заданной матрицей моделирования, вызвать glReadPixels, очистить буфер цвета и глубины, затем по новой отрисовать сцену с уже другой матрицей моделирования, после чего вызвать glSwapBuffers или что там в OpenGL используется... В результате в кадре окажется картинка, отрендеренная с последней матрицей модели.

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)