我不知道什么是错的。一切似乎都很好。这里的代码(纹理加载,只是图):OpenGL - quad上的纹理坐标
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,但似乎你错过了将纹理坐标发送到平面的其中一个三角形。 –