Python Opengl纹理重复

Python Opengl纹理重复,python,opengl,textures,repeat,pyglet,Python,Opengl,Textures,Repeat,Pyglet,我是opengl的初学者。我正在尝试在GL_四边形上重复纹理 到目前为止,这里是加载纹理的代码 file = os.path.join('image','texture.png') surface = image.load(file) self.t1 = surface.image_data.create_texture(image.Texture) glBindTexture(GL_TEXTURE_2D, t1.id) glTexParameteri(

我是opengl的初学者。我正在尝试在GL_四边形上重复纹理

到目前为止,这里是加载纹理的代码

    file = os.path.join('image','texture.png')
    surface = image.load(file)

    self.t1 = surface.image_data.create_texture(image.Texture)
    glBindTexture(GL_TEXTURE_2D, t1.id)
    glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_WRAP_S, GL_REPEAT)
    glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_WRAP_T, GL_REPEAT)
    glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_MAG_FILTER, GL_NEAREST)
    glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_MIN_FILTER, GL_NEAREST)
和绘图

    glBindTexture(GL_TEXTURE_2D, self.t1.id)
    glBegin(GL_QUADS)
    glTexCoord2f(0.0, 0.0); glVertex3f(0, 0, 0)
    glTexCoord2f(1.0, 0.0); glVertex3f(self.width, 0,  0)
    glTexCoord2f(1.0, 1.0); glVertex3f(self.width, self.height, 0)
    glTexCoord2f(0.0, 1.0); glVertex3f(0, self.height,  0)
    glEnd()
更改self.width和self.height时,纹理会拉伸和扭曲

如何重复纹理? 如果我做错了,请原谅

谢谢你

如何重复纹理?如果我做错了,请原谅


通过使用超出[0,1]范围的纹理坐标(glTexCoord)。

谢谢,但为什么我尝试3.0而不是1.0呢?@Michelechan:OpenGL-1有一个限制,纹理图像尺寸必须是2的幂。自OpenGL-2以来,该限制已被取消,但一些工具包可能仍会应用填充行和/或列,以使纹理大小为2。尝试使用512×256像素的纹理。