X-Git-Url: http://git.osdn.jp/view?a=blobdiff_plain;f=examples%2Fpmdbuilder.py;h=ee5361fe7a8f0b534ead6ab073d34538c1a177d3;hb=b0a265cd2215c87df94c2782caad6ee0b6d26eb9;hp=e41112c99ab4a405e4c25ee5a4d7ea5ccb590ee6;hpb=65211f29fc6e1e540cc3e1c515753f860653382b;p=meshio%2Fpymeshio.git diff --git a/examples/pmdbuilder.py b/examples/pmdbuilder.py index e41112c..ee5361f 100644 --- a/examples/pmdbuilder.py +++ b/examples/pmdbuilder.py @@ -3,7 +3,7 @@ import time import os -import pymeshio.pmd +import pymeshio.pmd.reader import opengl.material import opengl.texture import opengl.vertexarray @@ -12,14 +12,14 @@ import opengl.vertexarray def build(path): # load scenee t=time.time() - io=pymeshio.pmd.IO() - if not io.read(path): + model=pymeshio.pmd.reader.read_from_file(path) + if not model: return print(time.time()-t, "sec") # build basedir=os.path.dirname(path) indexedVertexArray=opengl.vertexarray.IndexedVertexArray() - for v in io.vertices: + for v in model.vertices: # left-handed y-up to right-handed y-up indexedVertexArray.addVertex( (v.pos[0], v.pos[1], -v.pos[2], 1), @@ -32,20 +32,20 @@ def build(path): textureMap={} faceIndex=0 def indices(): - for i in io.indices: + for i in model.indices: yield i indexGen=indices() - for i, m in enumerate(io.materials): - print(i, m) + for i, m in enumerate(model.materials): material=opengl.material.MQOMaterial() material.vcol=True material.rgba=( - m.diffuse[0], - m.diffuse[1], - m.diffuse[2], - m.diffuse[3]) - if m.texture!="": - texturepath="%s/%s" % (basedir, m.texture) + m.diffuse_color[0], + m.diffuse_color[1], + m.diffuse_color[2], + m.alpha) + texturefile=m.texture_file.decode('cp932') + texturepath=os.path.join(basedir, texturefile) + if os.path.isfile(texturepath): if not texturepath in textureMap: texture=opengl.texture.Texture(texturepath) textureMap[texturepath]=texture