我有一个pic.bmp,我正在尝试将其平铺到3 x 2矩形平面上,以进行演示。
我试图保持bmp的长宽比不变,但我仍然希望将其平铺在该表面上。现在我的曲面顶点为(0,0,0),(3,0,0),(0,2,0)和(3,2,0)。
如何将此bmp应用于平坦表面并将其平铺?在GLUT和OpenGL中执行此操作的最佳方法是什么?
最佳答案
有关示例,请参见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次任何纹理。
关于c++ - 将纹理bmp文件作为纹理平铺到OpenGL中的矩形上吗?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/743097/