Overview
SONIX Engine is a real-time 3D game engine for Microsoft Windows. It is completely written in C++ and designed for DirectX 9.
Features
GUI Graph
- GUI system with many controls supported (static texts, buttons, edit controls, windows, scroll bars, layouts …)
- Automatic creation of controls to modify application/shader parameters
- XML theme file referencing the parameters for each control
- Serializable in XML
Scene Graph
- Many nodes supported (different kind of camera nodes, light nodes, material nodes, physic nodes, property nodes, stencil shadow nodes, transform nodes, sound node, switch node …)
- Shadow map generation included
- Serializable in XML
Render view system
Render view is a concept that was first described in a gamedev.net forum. It is a tree-based system that allows very easily to make offscreen renderings, post-process effects, rendering to several windows and to create dependencies between the renderings
More
More
SONIX Editor
- Creates, edits and exports GUI graphs and scene graphs
- Node-level editor (low level)
- Still in development
Materials
- Based on Direct3D FX Files
- Nearly entirely compatible with DXSAS 0.8 and FX Composer 1.8
- State manager in order to optimize state changes
- Automatic shader creation or render pass activation according to the context (lights enabled …)
File formats supported
Textures
- bmp
- dds
- dib
- hdr
- jpg
- pfm
- png
- ppm
- tga
Mesh file formats
- X files with or without skinning
- MD2
- BSP
- 3DS with materials and smoothing groups
- OBJ with material (MTL)
Physics
- Tokamak physic engine (not completely supported)
- Newton game dynamics supported
- integrated in scene nodes
- simple primitives, convex hulls and collision tree supported
- Joints supported (ball and socket, hinge, slider, up vector, Corkscrew and vehicle)
Shadowing
Completely managed by the scene graph
- Shadow volume
- Shadow mapping
Visibility culling
- Frustum culling
- Occlusion culling
Input management
- Based on DirectInput
- Event based
- Custom action mapping system (independant of the device)
- wiimote and nunchuck supported using WiiYourself library
Sound management
- Based on either DirectMusic or DirectShow depending on the media
- normal and 3D sound
Video capture
- Based on DirectShow
- captures to uncompressed AVI files or WMV files
- Custom codecs will be supported soon
N3DSE Script engine
N3DSE is a dynamic linked library made up of a compiler and a virtual machine. It is not yet completely integrated in SONIX Engine. More