|
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.
|
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.
|
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.
|
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.
|
|
|