Lang:
Native cross-platform code
- Modern C++
- 64-bit only, 32-bit is not supported
- Not bound to any particular operating system
- Based on the latest SDL library
- Fast compilation, fast execution, zero-overhead
- Direct3D 12 and Vulkan renderers
Same HLSL shader code for all APIs
- Single HLSL source file can produce different shaders using
preprocessor macros (ubershader)
- Single HLSL source file stores code for all shader stages
- Quick compilation during game launch
- Same uniform buffer structure is reused for HLSL and C++
- No limits other than those imposed by graphics APIs
Deferred shading
- Geometry pass, lighting pass, composition
- Three 32-bit render-targets and one 32-bit depth buffer
- Vulkan renderer uses input attachments and subpasses
- High dynamic range support, pixel brightness is measured in cd/m2
Efficient textures and streaming
- No limits other than those imposed by graphics APIs
- Preferred format is BC7 (BPTC)
- Small mipmaps are always in memory, bigger ones are loaded on
demand
- sRGB awareness
Large terrain support
- Limited by maximum texture size (for example, 16 by 16
kilometers)
- Many terrain objects can be stitched together to make unlimited
terrain
- Up to four textures are blended per patch (16 by 16 meters)
Built-in audio system
- Powered by OpenAL Soft
- Mono, stereo, 3D positioned, looped sounds with adjustable gain
and pitch
- Multiple asynchronous streams can output background music and
ambience
- Ogg Vorbis compression supported
Multiplayer support
- No third-party code, uses plain sockets
- UDP with ability to send reliable packets
- Clients are handled asynchronously
Custom user interface module
- Familiar widgets like labels, editable text, images and sizers
- Views are defined with declarative XML, can also be adjusted in
code
- Inspired by model-view-controller design pattern
Collision and physics support
- Based on Bullet Physics
- Character controller is available
- Seamless transition from animation to ragdoll and back
- Vehicle physics
A bunch of post-processing effects
- Bloom
- Screen space ambient occlusion (SSAO)
- Screen space reflections (SSR)
- Motion blur
- Depth of field
- Cinema
Filesystem abstraction
- Resources can be packed into single file
- Helper classes to handle XML and JSON
- Asynchronous resource loading (streaming)
Other things
- Skeletal animation with blending
- Math library based on Sony Vector Math and OpenGL Mathematics
(GLM)
- Cascaded shadow maps (CSM) for large outdoor scenes
- Speech to lips movement conversion
- And much more