Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/opengl/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/github/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Opengl立方体图-freeimage和stb图像库的不同结果_Opengl_Freeimage - Fatal编程技术网

Opengl立方体图-freeimage和stb图像库的不同结果

Opengl立方体图-freeimage和stb图像库的不同结果,opengl,freeimage,Opengl,Freeimage,我在试着理解立方体地图。我已经阅读了以下教程:我的示例程序与教程程序非常相似,但我使用freeimage加载纹理。我的立方体贴图的每个面都有倒y视图。当我在教程程序中将纹理库从stb图像更改为freeimage时,我还为每个面获得了反转的y视图。freeimage是否使用了一些非标准约定?为什么我会得到不同的结果?我不知道这是否有标准,但我不会说FreeImage是垂直镜像图像,这只是像素数据的存储方式。 如果要使用OpenGL生成的纹理读取数据,可能需要在FreeImage\u FlipVer

我在试着理解立方体地图。我已经阅读了以下教程:我的示例程序与教程程序非常相似,但我使用freeimage加载纹理。我的立方体贴图的每个面都有倒y视图。当我在教程程序中将纹理库从stb图像更改为freeimage时,我还为每个面获得了反转的y视图。freeimage是否使用了一些非标准约定?为什么我会得到不同的结果?

我不知道这是否有标准,但我不会说FreeImage是垂直镜像图像,这只是像素数据的存储方式。 如果要使用OpenGL生成的纹理读取数据,可能需要在
FreeImage\u FlipVertical
之前使用
FreeImage\u GetBits
通过代码翻转图像。我猜您正在使用
FreeImage\u GetBits
将数据传送到OpenGL中生成的纹理,如果您使用扫描线读取图像,则可以从下至上加载数据

提醒:如果你使用多种格式的图像,你很可能在数据存储方式方面也有其他问题,所以在官方的FreeImage文档中,当你使用GetBits和GetScanLine时,请告诉你“根据
FreeImage\u GetBPP
FreeImage\u GetRedMask
FreeImage\u GetGreenMask
FreeImage\u GetBlueMask
的结果,正确解释这些字节取决于您自己。”因此,如果您在将图像加载到OpenGL时遇到其他问题,您可能需要检查以下示例以解释数据: