Файл изображения OpenGL и GIMP, экспортированный как файл .c - PullRequest
0 голосов
/ 13 ноября 2011

Я нарисовал файл изображения с GIMP и сохранил его как файл .c. Затем я использовал следующее в своем коде OpenGL, чтобы загрузить изображение на экран:

glPixelStorei(GL_UNPACK_ALIGNMENT, 1);

glRasterPos2i(x_disp, 0);
glDrawPixels(80, 80, GL_RGB, GL_UNSIGNED_BYTE, gimp_image.pixel_data);

Однако загруженное изображение отображается перевернутым на 180 градусов вверх ногами. Интересно, есть ли вариант, который я могу поставить в OpenGL, чтобы Я могу сделать изображение с той же ориентацией, что и в GIMP, с верхней стороной вверх, а слева с левой стороны, возможно, с glPixelStore или другой вызов функции OpenGL, чтобы указать, как распаковать пиксели?

1 Ответ

2 голосов
/ 13 ноября 2011

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

Вместо glDrawPixels используют текстуру, тогда вы можете просто перевернуть координаты текстуры.В любом случае glDrawPixels является чрезвычайно медленной присоской цикла ЦП и была удалена из OpenGL-3 и более поздних версий.Только не используйте его.

...