在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文件作为纹理平铺到矩形上?的主要内容,如果未能解决你的问题,请参考以下文章