Mezzanine Dependencies
This is a complete listing of 3rd party components used by the Mezzanine. For some of the libraries we have linked to resources specific to them.
Libraries
These are the behind the software packages that doing individual bits of the heavy lifting. Most of these are integrated with upgrading them in mind, but a few have been forked (only if the original project seems dead).
SDL
The Simple Directmedia Layer, is a generic game development library with basic threading, window management, input, sound and event management functionality. Currently we are using it for some window management features and mouse, keyboard and joystick input. We are using an internally tested but still beta version of SDL, we plan to keep it going forward unless the API breaks in a fundamental way. Here are some helpful links:
- SDL Main page
- SDL API
- Integrating Ogre and SDL rendering libraries
- Another Angle on integrating SDL and Ogre rendering
Ogre 3D
Probably the most sophisticated of the libraries we use, Ogre is responsible for 3d rendering and the loading of media files. We have adapted some of Ogre’s features to construct a standard compliant iostream that can read and write to zipped files. This component is fairly modular and we are keeping an up to date version from the original authors. Here are some links:
- Ogre Main Page — The main site for Ogre 3d.
- Ogre Manual — A good view from 10,000 feet.
- Ogre API — A quick reference for those who know a little bit about Ogre already
- Ogre Wiki — Coverage on a wider variety of Ogre topics.
- Pro Ogre 3d — On Google books.
Bullet Physics
This is a modern cross-platform object oriented physics library. It supports simple shapes with extremely high performance, and manages tolerable frame rates with perfectly precise shapes. Rigid shapes work well, but we are having difficultly integrating soft/morphable shapes. This component is fairly modular and we are keeping an up to date version from the original authors.
cAudio
A sound library that provides high performance 3d positional audio, but now seems defunct. We have integrated this into our own code and are ready to perform future maintenance as required, it has performed so well so far that only light changes have been required.
PugiXML
Provides extremely fast loading and saving of data as xml files. This xml parser has become so tightly integrated it would be reasonable to call it an internal library. If you are familiar with PugiXML, then the the only thing that changed was the name of the functions and the functions we added to aid integration. If a new version is released we plan on upgrading if the structure of the API is similar.
Installing Libraries
Here some documentation we have assembled to aid with the installation of the software needed to run the engine.
- Linux – External Library dependencies
- Mac OS – External Library dependencies
- Windows – External Library dependencies
Other Dependencies
The are some additional packages that may be needed to build and use the Mezzanine Engine
Cmake
Cmake is used to create the build files for the engine. Rather than actually assembling the software into like a compiler, this creates the information a compiler will need to create the Mezzanine Engine. Check out the CMake page or CMake command documentation for more information about it, or see our instructions on building the Mezzanine Engine for how we use it.
