在OpenGL中将纹理bmp文件作为纹理平铺到矩形上?

Posted

技术标签:

【中文标题】在OpenGL中将纹理bmp文件作为纹理平铺到矩形上?【英文标题】:Tiling texture bmp file as texture onto a rectangle in OpenGL? 【发布时间】:2009-04-13 05:14:40 【问题描述】:

我有一个 pic.bmp,我正在尝试将它平铺到一个 3 x 2 矩形平面上,以进行我正在制作的演示。

我正在尝试保持 bmp 的纵横比不变,但我仍然想将它平铺在该表面上。现在我的曲面顶点为 (0,0,0)、(3,0,0)、(0,2,0) 和 (3,2,0)。

如何将此 bmp 应用到平面并平铺?在 GLUT 和 OpenGL 中执行此操作的最佳方法是什么?

【问题讨论】:

【参考方案1】:

有关示例,请参阅 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 次。

【讨论】:

以上是关于在OpenGL中将纹理bmp文件作为纹理平铺到矩形上?的主要内容,如果未能解决你的问题,请参考以下文章

如何在OpenGL中将像素作为纹理绘制到多边形?

OpenGL中不用AUX库来加载BMP图片作为纹理

OpenGL将图像平铺到纹理中并耗尽内存

如何将部分纹理复制到opengl中的图像

BMP 纹理不显示

opengl使用bmp纹理映射画不出东西