在OpenGL中平铺背景

时间:2011-10-15 19:03:01

标签: opengl 2d lwjgl

我确信这是一个相对简单的问题,我只是一件事情,我一直都无法理解。

我有一个512x512的背景,我想“无限地”。我四处寻找,似乎找不到很多,所以我想我会来这里。无论如何,这是:

background http://dl.dropbox.com/u/5003139/hud/stars_far.png

所以,你有它。我有一个可以在2D平面上移动的船只精灵,这是一个自上而下的游戏。如何渲染此背景以覆盖任意大小窗口的每个像素?

1 个答案:

答案 0 :(得分:2)

使用GL_REPEAT纹理夹紧/包裹模式,范围[0,1]之外的纹理坐标将环绕,重复纹理。因此,您可以绘制填充四边形的屏幕,但使用更大的纹理坐标。例如,使用纹理坐标(0,0)到(10,10)将在每个方向上重复纹理10次。使用

为当前绑定的2D纹理启用重复模式
glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_WRAP_S, GL_REPEAT);
glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_WRAP_T, GL_REPEAT);