Putting the ass into asset.
'Open Asset Import Library' is a library to import a wide range of 3D formats, which I'll use to expand CA's supported formats.
Assimp has some python bindings (using ctypes) but they were severly outdated. Since I hate manual labour, I decided to write a python script to convert the Assimp header files into python's ctypes compatible Structures. A few regexp tutorials later(I'm new to it) I had a 150 lines script generating a 1000 lines of bindings. All things considered updating the old bindings manually might have taken less time. However I gained a new skill (which is still satisfying for us RolePlayers: "Die you filthy troll and show me some loot and experience!!") and whenever someone non-python aware decides to change assimp all they have to do is run a script.
Now that the bindings were updated it was time to tackle some of the python boilerplate, as the material properties showed some signs of wrong/corrupted memory.
The full ctypes reference later, it turned to be as simple as "cast(p.mData, POINTER(c_float*(p.mDataLength/sizeof(c_float)) )).contents"
and a few more for each possible 'p.mType'. Oh well.
To more exciting stuff, getting all this data in CS:
Support for static meshes, materials (with shadervars) and textures. (after fiddling a bit with left and righ handedness) And now working on animation support...
Picked a mesh that's a tad more exciting than my test cube. Finally settled on 'dwarf.x'.
Comments are not allowed from anonymous visitors.
|<< <||> >>|