gpt4 book ai didi

c++ - OpenGL - 四边形上的纹理坐标

转载 作者:太空宇宙 更新时间:2023-11-04 16:25:16 24 4
gpt4 key购买 nike

我不知道出了什么问题。一切似乎都很好。这是代码(纹理已加载,只是绘图):

glBegin( GL_QUADS );
float TX1,TX2,TY1,TY2;

TX1=some_numbers_check_below_code;
TX2=some_numbers_check_below_code;
TY1=some_numbers_check_below_code;
TY2=some_numbers_check_below_code;

glTexCoord2f(TX1,TY2);
glVertex3f( float(RectOutput.x), float(RectOutput.y), 0.0f );

glTexCoord2f(TX2,TY2);
glVertex3f( float(RectOutput.x+InputWidth), float(RectOutput.y), 0.0f );

glTexCoord2i(TX2,TY1);
glVertex3f( float(RectOutput.x+InputWidth), float(RectOutput.y+InputHeight), 0.0f );(InputY)/float(Input.H)) );

glTexCoord2f(TX1,TY1);
glVertex3f( float(RectOutput.x), float(RectOutput.y+InputHeight), 0.0f );

glEnd();

没关系:

TX1=0.0;
TX2=1.0;
TY1=1.0;
TY2=0.0;

(好:http://i.imgur.com/xLeBm.png)

但是被(例如)打破了:

TX1=0.0;
TX2=0.5;
TY1=1.0;
TY2=0.5;

(像这样:http://i.imgur.com/UykBh.png)

真的,这让我很烦。可能问题不在这段代码中。一切都应该没问题……但事实并非如此。

有什么想法吗?

最佳答案

“我不知道出了什么问题。一切似乎都很好”。太好了,不用回答了!

你应该首先解释你希望在第二种情况下得到什么。我不是 OpenGL 专家,但您的第二组坐标似乎已损坏。

第一个:0,0 -> 1,0 -> 1,1 -> 0,1:

  0     1
0 x---->x
| |
| |
| v
1 x<----x

第二个:0,.5 -> .5,.5 -> .5,1 -> 0,1:

  0     1
0 +-----+
| |
x->x |
| v |
1 +--x->x

如果你想缩放纹理(但我不知道,因为你没有写出应该是什么结果)那么这显然是错误的。

关于c++ - OpenGL - 四边形上的纹理坐标,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12585647/

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