breeze 2
A modern C++ real-time 3D graphics and game engine providing efficient architecture for highly flexible and high-performance 3D rendering.
breeze 2 Documentation

Introduction

breeze 2 is a streamlined library that aims at providing a minimal amount of architecture commonly needed from content creation and resource management to the interactive simulation and rendering of complex three-dimensional environments in real-time, while retaining both high efficiency and simplicity, trying to keep dependencies and encapsulation low. The library takes data-oriented approaches in performance-critical portions such as rendering, where it ventures into a generic approach to unifying data orientation and polymorphism. The library provides a multitude of openly designed sub-systems that, due to very flat hierarchies, may easily be extended or modified, with the existent architecture serving to take over the dull and generic tasks.

State

Currently, this page is in preview mode, which means that all the source is there, openly accessible to anyone. Unfortunately, however, I have yet to find the time to upload documentation, samples and a distribution that works out of the box.

Dependencies

The library makes use of the lean C++ library, DirectX, PhysX, Assimp (tools), Qt (tools), utf8-cpp, rapidxml, the STL and tiny fractions of boost (header-only pointer containers library, never referenced in public interface headers).

Compatibility

The library makes use of some C++0x features such as move semantics to improve efficiency, yet it tries to retain backwards-compatibility with the previous C++ standard. Currently, platform-specific components are only implemented for Microsoft Visual C++.

Sub-systems

Acknowledgements

There are quite some people who have heavily influenced the way this library has turned out, among them Chris Maiwald, who not only kindly gave broad insight into his highly optimized "Cric Framework", bearing tons of well-researched knowledge and experience, but also documented his findings in countless detailed forum posts, thus providing a valuable and evergrowing source of information on many sparsely covered topics. Also among them is Michael Kenzel, with whom I had the chance to discuss many problems and ideas, and who was never reluctant to share his expertise on manifold topics, including the C++ standard. Finally, among them is Michael Raulf, often providing me with split-second answers when it comes to C++' peculiarities, as well as bringing up important idioms whenever they could come in handy.