OpenGL和GIMP图像文件导出为.c文件

OpenGL和GIMP图像文件导出为.c文件,opengl,gimp,gldrawpixels,Opengl,Gimp,Gldrawpixels,我用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中提供一个选项,以便 我可以用GI

我用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函数调用,以指定如何
解压缩像素?

OpenGL假定图像数据位于左下角,而大多数图像处理程序将其置于左上角


不使用纹理,只需翻转纹理坐标即可。glDrawPixels是一个非常慢的CPU周期吸盘,已经从OpenGL-3和更高版本中删除。不要用它。

谢谢你的回复。我还没有研究过纹理(现在就要研究了)。如果我使用纹理,我可以使用从GIMP导出的文件吗?怎么用?假设我也可以画侧面的图像,而不只是面对面,就我所见,这是无法用glDrawPixels完成的。谢谢你,约翰Goche@JohnGoche使用纹理时,您可以按自己喜欢的方式绘制它。它只取决于您指定的纹理坐标,一旦您深入研究纹理,您将(或者更确切地说应该)了解这些坐标。