重新排序 OpenGL 纹理顶点以翻转图像行

Reordering OpenGL Texture vertices to flip image rows

我是一个完全的 OpenGL 初学者,我继承了一个代码库。我希望 OpenGL 在垂直方向翻转纹理,这意味着顶行转到底部等等。我只做二维处理,如果相关的话。

我的纹理顶点目前是这样的:

const float texture_vertices[] = {
    0.0, 1.0,
    0.0, 0.0,
    1.0, 0.0,
    0.0, 1.0,
    1.0, 0.0,
    1.0, 1.0,
};

我尝试更改三角形的方向并将它们从顺时针方向重新排序为逆时针方向。我知道这是由于我对 OpenGL 的基本工作原理缺乏了解造成的,但我将不胜感激所有帮助(尤其是对为什么某些东西是重新排序它们的正确方法的简短解释)。

也许我做错了,纹理坐标不是我感兴趣的?

您需要翻转纹理坐标的第二个分量(交换 0 和 1):

const float texture_vertices[] = {
    0.0, 0.0,
    0.0, 1.0,
    1.0, 1.0,
    0.0, 0.0,
    1.0, 1.0,
    1.0, 0.0,
};