我有一个 pic.bmp,我正在尝试将其平铺到一个 3 x 2 矩形平面上,以进行我正在制作的演示。
我试图保持 bmp 的纵横比完好,但我仍然想将它平铺在该表面上。现在我的曲面顶点为 (0,0,0)、(3,0,0)、(0,2,0) 和 (3,2,0)。
如何将此 bmp 应用到平面并平铺?在 GLUT 和 OpenGL 中执行此操作的最佳方法是什么?
有关示例,请参阅此 NeHe 课程。要进行平铺,只需编写如下内容:
glBegin(GL_QUADS);
// your surface
glTexCoord2f(0.0f, 0.0f); glVertex3f( 0.0f, 0.0f, 0.0f);
glTexCoord2f(3.0f, 0.0f); glVertex3f( 3.0f, 0.0f, 0.0f);
glTexCoord2f(3.0f, 2.0f); glVertex3f( 3.0f, 2.0f, 0.0f);
glTexCoord2f(0.0f, 2.0f); glVertex3f( 0.0f, 2.0f, 0.0f);
glEnd();
这将设置纹理坐标以在此表面上平铺任何纹理 3x2 次。