bXporter project home page

About

  This project started as a simple python export script for Blender, with this script it was possible to export polygonal meshes, materials and textures to supply content for simple 3D graphics applications in OpenGL. But with the rise of the content quality, some obstacles started to arise, like the uv seams (Figure 1) issues or the armatures transformation spaces.

figure1

Figure 1 - UV Seams issue(left - uncorrected, right - corrected).

  It was then clear the need to process the exported data, enabling the correct visualization when using the optimized GPU functionalities like the VBOs(Vertex Buffer Objects). But to perform these processing operations it would be needed more processing power than the one that python could give, since these operations would take much less time in a native C++ application.
  With this it was clear the path to take (Figure 2), create a script which exports the data and does almost no adicional processing and create an application in a language with better performance than python, to load and process the data.

figure1

Figure 2 - Project structure.

  This project uses python scripts to export the scene data and user created properties within Blender. The scene data is exported in a binary file to improve exporting and importing speed, since most of scene data is constituted by mesh geometry data and animation data.
  The user created properties(Figure 3) can be added to scene elements by customizing the supplied scripts, with these it's possible to add and remove new properties to scene elements without touching Blender source code. These properties are stored in a XML file to simplify the parsing.

figure1

Figure 3 - Custom graphical user interface.

  The final project component is the data loading and processing application, which loads the binary and xml data into data structures to normalize and optimize the information, provinding the programmer clean and intituitive methods to acess the contents created in Blender.

  As final remark, this project took some inspiration from Collada and FBX tools, specializing only in content creation with Blender for realtime 3d applications.

  bXporter project © 2007-2010 Luís F.Loureiro, under zlib software license.