Merlin3D is currently a hobby project, but aims to be real game project in the future.
Balázs Jákó started the development several years ago with the intention of learning C++, OpenGL, design patterns, algorithm and game programming, etc.
- Properties on all accessible engine objects
- Trigger-based engine callbacks
- Own system classes (DateTime, File, etc.) with specific OS implementations
- Own template class set (containers, strings, smart pointers, etc.)
- Independent from STL or Boost
- A* pathfinding with automatic navigation graph generation
- Fully dynamic lighting: directional, omnidirectional and spot lights
- Real-time volumetric light shafts
- Dynamic shadows
- Shadow mapping techniques: simple, PCF, CSM, VSM
- Shadow map flicker reduction in CSM with directional lights
- “Effect” XML files: shaders with parameters
- Uber-shader support
- Automatic engine built-in variable binding
- Console variable binding
- C++ and Lua API
- Optimized rendering with minimized GL state changes
- Supports Blender
** imports models, scenes, lights, properties, etc.
** automatic scene, effect and model file generation, no manual work is required
- Hierarchical scene graph, nodes are organized in a hybrid structure (list, child-parent relations, and spatial index)
- Scene elements: mesh, camera, light source, sound source, terrain (heightfield), particle system, empty object, light probe, sector, portal, etc.
- Automatic light probe placement
- Quadtree, Octree. Spatial index is replaceable even in runtime.
- Spatial query support (objects in range, nearest object of a type, ray hit tests, etc.)
- Hierarchical view frustum culling
- CHC++ occlusion culling
- Portal based occlusion culling with automatic portal and sector connectivity graph generation for indoor scenes
- Wrapper around OpenAL
- Sound management
- SoundScape support: background noises, looping, random play with varying volume, pitch, etc.
- OS/API independent UI element class set (not complete): Label, Button, Panel, Slider, Desktop, Window, etc.
- XML UI declaration files
- Skinnable: XML skin description files, controls are built from primitives (boxes, texts, colors, textures, etc.) defined in skin files, skin is replaceable at runtime
- Automatic GUI layout management
- Rendered with 3D API, independent from any OS-specific GUI API
- Scriptable events
- C++ wrapper class generator included
- Fully script-based game logic
- Lua support
- All scene and game objects are accessible in the scripting environment
- Engine objects can be decorated with properties
- Supports easy setup of rendering and post-processing passes using XML descriptor files
- Data dependency graph: nodes are passes, links are dependencies between passes
High Dynamic Range Rendering
BPCEM environment reflections
Built-in post processing effects: MSSAO, Bloom, lens flare, vignetting, crepuscular rays, color grading
||Price in $US
||Source Code Included?