# HG changeset patch # User Emmanuel Gil Peyrot # Date 1360180905 -3600 # Node ID 43413d4ff05b054a76565ce9d477de740275ca5c # Parent 346614f788f109a21540c54efdafa2b80aeea6dd Don’t change the vertex attributes for each texture. diff --git a/pytouhou/ui/renderer.pyx b/pytouhou/ui/renderer.pyx --- a/pytouhou/ui/renderer.pyx +++ b/pytouhou/ui/renderer.pyx @@ -82,19 +82,19 @@ cdef class Renderer: nb_vertices += 4 + if self.use_fixed_pipeline: + glVertexPointer(3, GL_INT, sizeof(Vertex), &self.vertex_buffer[0].x) + glTexCoordPointer(2, GL_FLOAT, sizeof(Vertex), &self.vertex_buffer[0].u) + glColorPointer(4, GL_UNSIGNED_BYTE, sizeof(Vertex), &self.vertex_buffer[0].r) + else: + glVertexAttribPointer(0, 3, GL_INT, False, sizeof(Vertex), &self.vertex_buffer[0].x) + glEnableVertexAttribArray(0) + glVertexAttribPointer(1, 2, GL_FLOAT, False, sizeof(Vertex), &self.vertex_buffer[0].u) + glEnableVertexAttribArray(1) + glVertexAttribPointer(2, 4, GL_UNSIGNED_BYTE, True, sizeof(Vertex), &self.vertex_buffer[0].r) + glEnableVertexAttribArray(2) + for (texture_key, blendfunc), indices in indices_by_texture.items(): - if self.use_fixed_pipeline: - glVertexPointer(3, GL_INT, sizeof(Vertex), &self.vertex_buffer[0].x) - glTexCoordPointer(2, GL_FLOAT, sizeof(Vertex), &self.vertex_buffer[0].u) - glColorPointer(4, GL_UNSIGNED_BYTE, sizeof(Vertex), &self.vertex_buffer[0].r) - else: - glVertexAttribPointer(0, 3, GL_INT, False, sizeof(Vertex), &self.vertex_buffer[0].x) - glEnableVertexAttribArray(0) - glVertexAttribPointer(1, 2, GL_FLOAT, False, sizeof(Vertex), &self.vertex_buffer[0].u) - glEnableVertexAttribArray(1) - glVertexAttribPointer(2, 4, GL_UNSIGNED_BYTE, True, sizeof(Vertex), &self.vertex_buffer[0].r) - glEnableVertexAttribArray(2) - nb_indices = len(indices) indices = pack(str(nb_indices) + 'H', *indices) glBlendFunc(GL_SRC_ALPHA, (GL_ONE_MINUS_SRC_ALPHA, GL_ONE)[blendfunc])