This include the renaming of __init__.py in core.py to solve tricky imports issues
sample.py runs correctly, except that the ctype structure returned is not
complete. The issue is very similar to the one we have with 32bits/64bits
issues
Removed the PyAssimp3 subproject project.
To maintain source compatibility between py2 and py3, python >= 2.6 is now required
It allows for faster access to data, brings useful methods and is
pyOpenGL-friendly
It eases manipulation of matrices and vectors (many operations like
product, transposition, etc. are available)
numpy.array are also directly usable in many places in pyopengl.
And make sure we store floats as float32 to please OpenGL
Update sample.py to be happy with numpy arrays
Main changes:
- dynamic creation of idiomatic python fields corresponding to ASSIMP ones,
- hidding of pointers,
- use of numpy for transformation and mesh data storage
For instance, to access the list of meshes of a children of the root
node, previously we did:
scene.mRootNode.contents.mChildren[1].contents.mMeshes
Now, it is:
scene.rootnode.children[1].meshes
Arrays are now regular Python list.
Also added a 'post-processing' to access directly to certain objects,
and not through their index. For instance:
Before:
mymesh_id = scene.mRootNode.contents.mChildren[1].contents.mMeshes[2]
mymesh = scene.mMeshes[mymesh_id]
Now:
scene.rootnode.children[1].meshes[2]
Initialization of the Python wrappers is not delayed anymore: everything
is done during the loading (which leads to long start time, but prevent
unexpected slowing at runtime)
This commit also remove several 'ad-hoc' manipulation that should not
be needed anymore.
While here, use Python logging when necessary.