Horde3D Features
General Features
- Powerful graphics engine designed to meet the requirements of next-generation games
- Modern shader-based architecture with SM 2.0 compatible hardware as a minimum requirement
- Cross-platform compatible by using OpenGL as rendering API
- Elegant and lightweight overall design with very few dependencies, avoiding complexity where possible
- Clean object-oriented C++ code written for performance
- Strong modularity and high abstraction through flat C-style DLL API (also makes it possible to use Horde3D from virtually any programming language)
- Easy integration with game engines and other middleware like physics engines due to non-intrusive API design
- Suitable for Augmented Reality (AR) and stereo applications
Scene and Resource Management
- Robust resource management with internal garbage collection
- Interface for loading data from files, streams or any type of archives
- Hot-reloading of resources for more increased productivity during development
- Lightweight scene tree structure with hierarchical transformations and bounding volumes
- Unified scene system where world, models and skeletons are just scene graph branches and no special objects
- Loading of scene graph branches from XML files with complete orthogonality to API functions
- Frustum culling based on spatial graph
- Hardware occlusion culling
- Level of detail support for model geometry and materials
- Possibility to attach scene nodes to joints (e.g. for character props)
- Access to vertex data for collision detection and interoperability with physics engines
- Ray collision queries and node picking
Rendering
- Übershader-based effect/material system with automatic shader permutation generation (using GLSL shaders)
- XML based customizable rendering pipeline with allocatable render targets and commands for rapid testing of different rendering techniques
- Postprocessing framework for effects like bloom, DOF or motion blur
- Support for forward rendering and different deferred shading techniques
- Support for High Dynamic Range (HDR) textures and lighting
- Support for almost all modern rendering techniques, including normal-mapped phong lighting and parallax mapping
- Support for real-time reflections and other techniques that require several cameras for rendering
- Support for geometry, tessellation and compute shaders
- Realtime shadows using Parallel Split Shadow Maps (PSSM)
- Software skinning and hardware skinning in vertex shader for rendering hundreds of animated characters
- Fully integrated particle systems that can cast shadows and have effects like motion blur
- Overlays for rendering GUI elements and font
Animation
- Unified low-level animation system working directly on scene graph
- Keyframe animation for joints and meshes
- Skeletal animation with up to 4 weights per vertex for articulated models
- Layered animation blending and mixing using masks and additive channels
- Inter-frame interpolation for smooth animations
- Access to joint data for dynamic animations and ragdoll physics
- Morph targets for facial animation and lip synchronization
Content Pipeline
- Custom optimized model and animation formats for maximum performance
- Mixture of binary and XML formats for best tradeoff between performance and productivity
- Support for DDS textures and other common image formats
- Collada Converter for bringing assets from many common DCC tools to Horde3D
- Collada Converter implemented as command line tool that can be integrated in automatic build process
- Calculation of tangent space basis for normal mapping
- Optimization of geometry for GPU post-transform vertex cache
- Data-driven rendering pipelines for straight switching between different rendering techniques
- Powerful editor for composing scenes and developing shaders and rendering techniques
Hardware requirements
Horde3D requires an OpenGL 2.0 compatible graphics card with support for floating point buffers like a GeForce 6 series card or Radeon 9500.
Copyright © 2006-2017 The Horde3D Team contact