Projects . breeze
'breezEngine' is to become an easy-to-use and flexible 3D rendering engine that enables real-time graphics developers to rapidly prototype, build and fine-tune highly customized scenes, environments and effects in an uncomplicated, intuitive way. To keep this project manageable, the framework focuses on current hardware and techniques rather than providing an uncountable number of fallbacks that would slow down progress and easily lead to both code bloat and a clattered API. The project still is in an experimental stage of development, (semi-)public testing programs may follow later this year.
The engine still is in an experimental stage of development. Some of its current features are listed below.
- Exceptions derived from the standard library exception classes to allow for simple and generic error handling.
- Global heap to allow for safe memory allocation and deallocation across module boundaries.
- Garbage tracker enabling developers to track down memory leaks quickly and precisely.
- Filesystem interface to allow for quick and comfortable access to data files scattered throughout many directories.
- Automated resource file observation monitoring file changes to allow for multi-threaded hot reload of files altered at runtime.
- Simple and fast signal / listener system enabling developers to comfortably emit arbitrary events at minimal overhead.
- Centralized information system giving developers access to all kinds of messages sent by different modules.
- STL container wrappers speeding up specific container operations in various real time contexts.
- Classes and interfaces generalizing and greatly simplifying resource management, including strong and weak referencing.
- High dynamic range rendering including out-of-the-box default implementations of tone mapping and bloom effects.
- Gamma-correct linear rendering pipeline, including auto-correction of non-linear input textures at runtime.
- Ready-to-use implementations of popular effects such as screen-space ambient occlusion, high-quality depth of field, crepuscular ray and fog effects.
- Shader-driven rendering pipeline to allow for rapid development of new effects without a need for complex application-side integration.
- Comprehensive and flexible shader framework to allow for fast and intuitive access to all application-side rendering parameters.
- Comprehensive rendering architecture composed of a (depth and supplementary data) pre-pass, a pre-processing pass, a main pass and a post-processing pass, each pass to be used at free will, fitting the task at hands.
- Support for an arbitrary number of individually configured perspectives to render the scene from. Perspectives may be added by any object in the scene to allow for reflections, refractions and other scene-based effects.
- Fully dynamic and extensible lighting system that provides the scene and shaders with all the information necessary to conveniently implement any lighting effect imaginable.
- Highly flexible node-based scene architecture that allows for efficient hierarchical culling techniques.
- Property-driven entity system that enables both developers and designers to intuitively tweak and modify any element in the scene at any time.
The first interactive application, this demo was developed in less than a week, in parallel to the integration of nVidia PhysX, serving as a testing bed for the new simulation module prototype. Bonny Nightmare has many game-like aspects, there are ghosts that follow a minor AI, visual player health feedback and even a minor physics puzzle that needs to be solved in order to reach the end of the demo.
Download (for installation see READ ME): Bonny Nightmare [~1 MB]
The demo currently only features rigid body and character controller physics. The polygon-intensive parts of the geometry (such as the huge stairways) are rendered using mesh instancing. This demo is the first to make use of the brand-new integrated mesh loader, loading meshes from pre-processed binary mesh files and thereby greatly decreasing mesh load time. Other features of the demo include god rays, SSAO and tone mapping. The demo runs at about 40Hz on my nV GeForce 8600 GTS.
RAR - Devmania Invitation Demo 2009
Download real-time demo: RAR - Devmania Invitation 2009 [18 MB]
The demo is the result of a very close cooperation with Christian Rösch, who came up with the idea of using the breezEngine to create PC Demos and who was the creative mind behind all but one scene in this demo.
Amsterdam Demo (HDR Version)
Up-to-date footage featuring both HDR rendering and full-scene shadowing, for more information also see the original version below.
The new effects shown include greatly improved screen-space ambient occlusion, parallel-split shadow mapping in combination with inferred shadow mask generation using jittered poisson-disc-based look-ups for soft shadow edges, as well as high dynamic range rendering including tone-mapping and bloom shaders.
Amsterdam Demo (Original Version)
This demo application was developed in exactly one week, evaluating the engine's prototyping capabilities and workflow. The demo mainly showcases animated reflecting water, instanced house rendering and screen-space ambient occlusion.
The application makes heavy use of instancing to keep the frame rate up at such a huge amount of objects. The city covers an area of approximately 9 square kilometers. Lighting is done using one directional light and a screen-space ambient occlusion pass applied to the final scene via post-processing. The demo runs smoothly at about 40 Hz on my nV GeForce 8600 GTS.
Assorted Scene Tests
These shots are taken from various testing environments written to evaluate and integrate new features. The displayed scenes occured more or less accidentally during development, so don't attempt to find much sense in those.
The images show the first working implementation of per-pixel lighting, supporting directional, point and spot light sources for any object in the scene, some highly experimental post-processing effects, developed to test the first prototype of the processing pipeline, and some early experiments with height mapping and landscape rendering. Please note that most of these are still brute force rendering tests, hence the frame rate is not always that high.
Minimum System Requirements
Windows XP or Vista
Shader Model 2.0
More to follow, soon. See main page for up-to-date information.