OpenGL получает данные о перспективных пикселях - PullRequest
1 голос
/ 29 июня 2010

Я работаю с 3D-рендерингом большого поля, содержащего различные объекты. Моя программа рассматривает это поле в перспективе с высокой точки.

Мне нужно получить доступ к пиксельным данным (только) прямоугольника в поле, если смотреть сверху. У меня есть координаты этого прямоугольника в поле, и я хотел бы: (а) Найти пиксели, соответствующие моему желаемому прямоугольнику. (b) (В идеале) записать соответствующую пиксельную матрицу в файл.

Кто-нибудь знает простой способ сделать это?

1 Ответ

3 голосов
/ 29 июня 2010

Вы можете использовать что-то вроде gluPerspective, чтобы установить точку обзора на нужный прямоугольник, затем визуализировать сцену, и использовать glReadPixels, чтобы получить результат обратно. Это даст вам прямоугольник значений пикселей - вам нужно будет преобразовать их в формат изображения по вашему выбору.

Если вы просто хотите одну статичную картинку, возможно, это самый простой способ. Если вам нужно / вы хотите делать это чаще (например, вам действительно нужно что-то, похожее на видео), вы можете рассмотреть возможность его настройки для рендеринга в текстуру или буферный объект кадра. Это (по крайней мере, обычно) повысит эффективность за счет дополнительной сложности.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...