gpt4 book ai didi

c - OpenGL 仅在使用多个纹理四边形时纹理坐标不正确

转载 作者:行者123 更新时间:2023-11-30 15:55:03 24 4
gpt4 key购买 nike

当我有多个使用相同纹理但坐标不同的纹理四边形时,纹理会发生变形。我的代码如下所示:

glBindTexture(GL_TEXTURE_2D, texture_id);
glBegin(GL_QUADS);
glVertex2f(0, 0); glTexCoords2f(0, 0);
glVertex2f(32, 0); glTexCoords2f(.5, 0);
glVertex2f(32, 32); glTexCoords2f(.5, .5);
glVertex2f(0, 32); glTexCoords2f(0, .5);
glEnd();

glTranslatef(32, 0, 0);

glBegin(GL_QUADS);
glVertex2f(0, 0); glTexCoords2f(.5, .5);
glVertex2f(32, 0); glTexCoords2f(1, .5);
glVertex2f(32, 32); glTexCoords2f(1, 1);
glVertex2f(0, 32); glTexCoords2f(.5, 1);
glEnd();

有谁知道是什么原因造成的以及如何解决它?

最佳答案

您以错误的顺序调用 glTexCoord 和 glVertex。 glVertex 应该始终是最后一个调用来完成顶点的属性。

应该是:

glBegin(GL_QUADS);
glTexCoords2f(0, 0); glVertex2f(0, 0);
...

关于c - OpenGL 仅在使用多个纹理四边形时纹理坐标不正确,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12548576/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com