From BlenderWiki

Jump to: navigation, search

Summary Of Work for 5 Months from May to September

Over the past few months I worked a lot on 2.5x maintenance and general fixes since there was no shortage of tasks to do.


Note: Had 2 weeks holiday and spent one week working on X3D export for BioSkill which had some overlap with general X3D bugfixing and improvements.


For details see:

http://wiki.blender.org/index.php/User:Ideasman42#Week_36_.28May_2nd.29


Summary of Import/Export Work

Note that this work was mostly maintenance however I did some some focused time making improvements to FBX/X3D support.

  • added axis conversion to X3D/3DS/OBJ/FBX formats,
    this lets you specify the Up/Forward axis on import/export,
    this replaced less useful rotation options like 'Rotate X90' which OBJ used.
  • add ability to apply rotation on a BVH imported rig (which defaulted to standing sideways)
  • fixed exporting OBJ/X3D/FBX dupli-instances
  • BVH
    • export option to only write transform for the root bone
      (needed for compatibility with some applications).
  • X3D
    • fix for exporting collision option - use collision modifier now.
    • export XML names are now escaped correctly
    • export was writing invalid chars in ID's
    • export added IndexedTriangleSet support.
    • export support for writing normals.
    • export added support for writing parent/child hierarchy.
  • FBX fixes...
    • fix exporting with invalid vertex groups,
    • fix for FBX export treating actions with modifiers as 600,000 frames long.
    • applied patch [#28118] from John Brown (jcbdigger)
      to the FBX exporter to add XNA compatibility,
      also made edits on the patch and corrected some errors.


  • 3DS
    • fix exporting relative paths on windows.
    • write object transformation data.

Other Personal Projects

  • added H3D export support to X3D, so GLSL shaders can display in H3D.
  • ported Quake Map exporter from 2.4x (simple script easy to support).


Summary of Optimization's

  • use hash lookups for operator/menu/panel types.
  • use vertex arrays for drawing all buttons (rather than immediate mode).
  • editmesh solid and wireframe face drawing (on my system gives 1.5x - 2x speedup), merged into bmesh branch too.
  • speedup drawing ascii text and dont use inefficient opengl glGet* functions for drawing each character.
  • speed up python function calls by using own built-in callable type (speeds up the UI which is written in python)


Summary of Documentation

Wrote new sections to our API docs.

Wiki Docs


Summary of Review Work

  • Reviewed VertexWeightModifier branch (worked on the branch and made changes needed for merge)
  • Reviewed Weight Paint Branch branch (gsoc) (worked on the branch and made changes needed for merge)
  • Reviewed Translation branch and worked on translation with python/rna and scripts for getting translations.

... some reviews are quite straightforward, these ones ended up taking some days each.


Bugfixing

  • Bugfix stats* (from weekly reports / commit logs)
  • 151 - fixed reported bugs
  • 184 - fixed unreported bugs
  • 335 - total.

note: doesn't include fixes for own recent mistakes :), also doesn't include fixes to the buildsystem.