Повторение текстуры Python OpenGL - PullRequest
2 голосов
/ 02 ноября 2011

Я новичок в opengl. Я пытаюсь повторить текстуру на GL_QUADS.

Пока вот код для загрузки текстуры,

    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 текстура растягивается и искажается.

Как мне повторить текстуру? Извините, если я поступил неправильно.

Спасибо ...

1 Ответ

2 голосов
/ 02 ноября 2011

Как мне повторить текстуру?Извините, если я сделал неправильно.

Используя координаты текстуры (glTexCoord) вне диапазона [0,1].

...