2

当我通过 FreeImage 加载图像时,这些位是从下到上的。我的 GL 代码要求所有图像都是自上而下的。当我将位复制到纹理时,翻转图像的最佳方法是什么?

4

4 回答 4

4

您可以使用纹理矩阵来有效地翻转 texcoords。我认为这会起作用:

glMatrixMode(GL_TEXTURE);
glLoadIdentity();
glScalef(1.0, -1.0, 1.0);
glMatrixMode(GL_MODELVIEW);
于 2009-01-15T02:45:58.563 回答
2

可以试试 FreeImage_FlipVertical()。

于 2009-01-14T21:56:15.933 回答
2

我认为使用简单的数组算术和 1 个临时长字值进行就地翻转是明智的。(所以每像素翻转,4 个字节)。

您当然可以翻转纹理坐标,但恕我直言,这是不明智的,因为您可能不想用纹理颠倒的信息污染您的代码。

于 2009-01-14T17:10:37.913 回答
1

根据您的应用程序,大多数专业游戏会在构建过程中翻转它们的纹理,而不是在加载时。

于 2011-07-15T23:03:24.193 回答