1 #!/usr/bin/env python
\r
7 from opengl import material
\r
8 from opengl import vertexarraymap
\r
14 io=pymeshio.mqo.IO()
\r
15 if not io.read(path):
\r
17 print(time.time()-t, "sec")
\r
19 basedir=os.path.dirname(path)
\r
20 vertexArrayMap=vertexarraymap.VertexArrayMapWithUV(
\r
21 [material.MQOMaterial.create(m, basedir)
\r
22 for m in io.materials])
\r
23 for o in io.objects:
\r
24 # skip mikoto objects
\r
25 if o.name.startswith("anchor"):
\r
27 if o.name.startswith("bone:"):
\r
29 if o.name.startswith("MCS:"):
\r
33 if f.index_count==3:
\r
34 vertexArrayMap.addTriangle(
\r
36 o.vertices[f.indices[0]],
\r
37 o.vertices[f.indices[1]],
\r
38 o.vertices[f.indices[2]],
\r
39 f.uv[0], f.uv[1], f.uv[2]
\r
41 elif f.index_count==4:
\r
43 vertexArrayMap.addTriangle(
\r
45 o.vertices[f.indices[0]],
\r
46 o.vertices[f.indices[1]],
\r
47 o.vertices[f.indices[2]],
\r
48 f.uv[0], f.uv[1], f.uv[2]
\r
51 vertexArrayMap.addTriangle(
\r
53 o.vertices[f.indices[2]],
\r
54 o.vertices[f.indices[3]],
\r
55 o.vertices[f.indices[0]],
\r
56 f.uv[2], f.uv[3], f.uv[0]
\r
59 vertexArrayMap.optimize()
\r
60 return vertexArrayMap
\r