BHM project overview
The BHM file format was created by Scali and Samuel Rødal in 2003. At the time they were both involved in the demoscene group Bohemiq, which is where the BHM file format got its name from.
The goal was to create a file format which could store the various data required for a demo, most notably 3d geometry and animation. The file format was to be generic, flexible and hierarchical like XML, but compact and quick to process like a binary file.
The sourcecode is released under the BSD license. For more information, see COPYRIGHT.txt.
The contents are as follows:
bin: Precompiled binaries of the BHM 3D sample program for Windows.
doc: Doxygen-generated documentation of the BHMFile and BHM 3D Sample code.
lib: Precompiled libraries for Windows.
src: Source code for manipulating BHM files.
The src-folder contains the following:
BHM3DSample: An OpenGL-based sample program which demonstrates how to read a BHM file which contains geometry and animation.
bhmexporter: Source code for a 3D geometry and animation exporter for 3dsmax.
BHMFile: C/C++ library for reading and writing BHM files.
Csharp: C# library for reading and writing BHM files.
Here you also find the BHM Visualizer, which shows the contents of a BHM file in a treeview.
You can implement your own IBHMViewer plugin which shows the contents in the preview tab.
An example implementation of an IBHMViewer, based on the BHM3DSample OpenGL renderer is included.
Java: Java library for reading and writing BHM files.
Release history:
Version 0.3b:
- Added BHM Visualizer
- Refactored BHM3DSample so that its code can also be put in a DLL and loaded as a BHMViewer plugin
- BHMReader is now an abstract base class, allowing implementations for file and memory reading
Version 0.2b:
- Added C# support
- Upgraded OpenGL renderer to 2.0 core functionality
- Added Big Endian support to C library
- Removed dependency on CML library
Version 0.1a:
- Initial release