From BlenderWiki

Jump to: navigation, search
Note: This is an archived version of the Blender Developer Wiki. The current and active wiki is available on wiki.blender.org.

Assimp Integration TODO

bf_assimp

  • Initial implementation with basic geometry importing
  • CMake integration
  • Support assimp materials
  • Support lines
  • Support points? No - I don't even have test cases for it
  • Read armature
  • Read animation tracks
  • Read vertex weights/deform groups
  • Split assimp's node graph properly in nodes that should only appear in the armature and nodes that should appear as OB_EMPTY objects in the main scene.
  • Filter dummies at the node hierarchy root
  • Support more camera & light settings
  • Vertex colors
  • Proper names for all named things
  • Join assimp meshes on their names (needed because assimp sorts meshes by materials).
  • Update list of ASSIMPFILE file extensions. Solution: take list directly from assimp.
  • Cleaner error handling (what's best practice in Blender?)
  • Am I using bmesh correctly / can do better at converting ngons? Answer from LetterRip: yes, can use bmesh to keep ngons directly, Collada way of doing it is deprecated.
  • SCONS build
  • Fix import coordinate system (both assimp and blender have a RHS, rotation around x suffices) Disabled, need to make this compatible with animations.
  • Support multiple UV sets
  • Disable assimp's skeleton mesh builder - Blender's armature viz does it much better.
  • fix bind mat for bones - right now the converter assumes its always the inverse world matrix, but this needn't be true for all assimp importers.
  • Pipe assimp's logging into blender (should be a configurable option)
  • fix BMESH_ASSERTs during import
  • implement deep scaling / rotation (i.e. don't just modify the root node).
  • improved heuristics to locate textures (test case: lwo blue fighter)
  • disable some formats (m3)

Probably useful / nice-to-have:

  • Import option to use assimp triangulation?
  • Import option to drop lines/points?
  • Import option to enable unit-scaling (very useful for testing even though BA thread reveals people don't want to have it in their actual workflow, so leave it off by default).

ext_assimp

  • Initial work, strip the most relevant parts of the assimp code and svn them
  • CMake integration
  • SCONS build
  • Cleanup assimp/contrib: at least zlib is redundant, use blender's own / system libs
  • Drop Blender and Collada code from assimp
  • Clear role of boost - assimp currently runs with BUILD_BOOST_WORKAROUND=1. Resolved: cycles and one or two other core components of Blender use boost, unlikely people would want to build without them, so it would be possible to use stock boost. For now there's no need to do this, Assimp's boost workaround files work nicely. FIXME: no, boost wa not used at all.

General

  • Platform testing to make sure it works on all relevant targets. Tested by myself so far: win7-x86-vc2008, fedora17-x64-gcc