OpenGL纹理坐标混淆
从我读到的内容来看,纹理T坐标轴是翻转的top是1.0,bot是0.0,尽管我不太明白为什么我当前的映射代码可以工作,因为我映射坐标如下:OpenGL纹理坐标混淆,opengl,graphics,Opengl,Graphics,从我读到的内容来看,纹理T坐标轴是翻转的top是1.0,bot是0.0,尽管我不太明白为什么我当前的映射代码可以工作,因为我映射坐标如下: float coords[] = { 0,0, wratio,0, wratio,hratio, 0,hratio }; 相反: float coords[] = { 0,0, wratio,0, wratio,1.0 - hratio, 0,1.0 - hratio }; 最让人困惑的
float coords[] =
{
0,0,
wratio,0,
wratio,hratio,
0,hratio
};
相反:
float coords[] =
{
0,0,
wratio,0,
wratio,1.0 - hratio,
0,1.0 - hratio
};
最让人困惑的是,这两个版本都有效
……这是怎么回事?它没有翻转;这就是OpenGL的工作原理。OpenGL中的所有内容都将+X轴向右移动,+Y轴向上移动。窗口空间、剪辑空间和“是”纹理坐标。这会将纹理的原点置于左下角。至于发生了什么事,你还没有发布足够的信息来了解这一点。你是如何使用这些纹理坐标的?显示使用它们的代码。啊,现在我明白你的意思了,所以看起来我调用glOrtho 0的方式,宽度,高度,0,-1,1;使我的代码工作D: