【发布时间】:2014-04-17 02:40:15
【问题描述】:
在 OpenGL 中使用具有以下参数的纹理
glTexParameteri( GL_TEXTURE_2D, GL_TEXTURE_WRAP_S, GL_REPEAT );
glTexParameteri( GL_TEXTURE_2D, GL_TEXTURE_WRAP_T, GL_CLAMP );
并像这样映射它:
glBegin( GL_QUADS );
glTexCoord2f( 3.0, 2.0 ); glVertex2f( -2.0, 2.0 ); // P1
glTexCoord2f( 0.0, 2.0 ); glVertex2f( -2.0, -1.0 ); // P2
glTexCoord2f( 0.0, 0.0 ); glVertex2f( 2.0, -2.0 ); // P3
glTexCoord2f( 3.0, 0.0 ); glVertex2f( 2.0, 1.0 ); // P4
glEnd( );
我不确定最终结果会是什么样子。我了解 glTexCoord 中大于 1 的值如何使纹理在 x 轴上重复,0 和 1 纹素将在 y 轴上重复。我对在这种情况下如何映射纹理感到困惑。会倒退吗?我好像在网上找不到类似的例子……
【问题讨论】:
标签: c++ opengl mapping textures