OSDN Git Service

implement loading texture in pmdbuilder
[meshio/pymeshio.git] / examples / opengl / vertexarray.py
index 5b1a0c4..4dc51c3 100644 (file)
@@ -84,7 +84,7 @@ class IndexedVertexArray(object):
         self.materials=[]\r
         self.indicesMap={}\r
 \r
-    def addVertex(self, pos, normal, color, uv, b0, b1, w0):\r
+    def addVertex(self, pos, normal, uv, color, b0, b1, w0):\r
         self.vertices+=pos\r
         self.normal+=normal\r
         self.colors+=color\r
@@ -103,13 +103,19 @@ class IndexedVertexArray(object):
         # 位置属性\r
         glEnableClientState(GL_VERTEX_ARRAY)\r
         glVertexPointer(4, GL_FLOAT, 0, self.vertices)\r
+        # UV属性\r
+        glEnableClientState(GL_TEXTURE_COORD_ARRAY)\r
+        glTexCoordPointer(2, GL_FLOAT, 0, self.uvlist)\r
         # マテリアル毎の描画\r
         for m in self.materials:\r
+            m.begin()\r
             # 順序維持\r
             indices=self.indicesMap[m]\r
             # indexによる描画\r
             glDrawElements(GL_TRIANGLES, len(indices), GL_UNSIGNED_INT, indices)\r
+            m.end()\r
         # 後始末\r
+        glDisableClientState(GL_TEXTURE_COORD_ARRAY)\r
         glDisableClientState(GL_VERTEX_ARRAY)\r
 \r
     def optimize(self):\r