平铺纹理bmp文件作为纹理到OpenGL中的矩形?

时间:2009-04-13 05:14:40

标签: c++ opengl textures glut

我有一张pic.bmp,我试图将其拼接到一个3 x 2矩形平面上进行演示。

我试图保持bmp的宽高比,但我仍然希望将它平铺在那个表面上。现在我的表面顶点为(0,0,0),(3,0,0),(0,2,0)和(3,2,0)。

如何将这个bmp应用于平面并平铺? GLUT& amp; OpenGL的?

1 个答案:

答案 0 :(得分:3)

有关示例,请参阅this NeHe lesson。做平铺只是写这样的东西:

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次。