Rendering
- A combination of BSP-Portal rendering system
- Per-Pixel lighting (diffuse, specular, glossmaped bump mapping)
- Beam-Tree optimized realtime shadows
- Filtered lights
- Object oriented scene management
- Stackable post-process effects (Glare, motion blur, old film, etc)
Collision detection - response
- Per polygon collision detection and motion clipping
- Various collision primitives : sphere, box, capsule, cylinder
- Joints between bodies : hinge, ball-socket, double-hinge
- Rigid body dynamics(Realistic physics simulation)
Sound
- 3D sound
- Moving sound sources, and listeners with sound pitching(doppler effect simulation)
- Environment acoustics simulation
- Support for EAX
- Streaming and precached loading of audio data
- WAV, OGG wave file support
Shaders
- Vertex/Fragment programs
- GLSL vertex/fragment shaders
- Procedural texture-mapping
- Multipass rendering
- Loadtime image manipulation : contrast, brightness, mixing
- Conversion from height maps to normal maps
- Combination of any number of height maps and normal maps to one normal map.
- Texture coordinate manipulation : scale, rotate, scroll
- Vertex position manipulation
- Color manipulation
- All parameters can be assigned to functions of time (pulsing textures, etc
- PNG, TGA and JPEG images support
Animation system
- Skeletal based animation with vertex blending (Organic meshes are deformed correctly at elbows etc)
- Skeletal animation blending
- Bone animation override
Scripting
- Fully Python scripted
- Fully object oriented
- Everything is script controlled
- Scripts can be attached to almost everything.
- Green-threads for clean game code. These are not system threads and have no overhead as system threads. Sylphis can run hundreds of threads in run state with no performance cost.
- Action based game programming
- Script console. While the engine is running you can actually implement a new game entity and spawn it in the world!
- Intergrated development environment(SDE). While the engine is running you can start the SDE end debug the code on the fly (Inspect variables, set breakpoints, etc)
Miscellaneous
- Collection files so that you don't have to store hundreds of files in the engine's directory
- Automatic memory management and garbage collection on both C++ and Python objects. For C++ objects this is an option.
- Easy user interface building.
- Truetype font support
- Cross platform and cross compiler