Nineg Engine
About
The Nineg Engine is a larger project of mine being developed for several
years now. It is a generic game engine which I plan to use in my future
game projects. The engine is aimed at rendering large outdoor scenes with
many objects and many visible lights in it. The target platform for the
engine is a Windows PC with long term plans to support Mac and Linux.
The engine's rendering component
is graphics API independent but implemented in Direct3D 9 only for the
moment. Plans are for Direct3D 11 and OpenGL. The engine is multithreaded,
modular and easily extensible via plugins. The engine is designed to
to support next-gen looking rendering techniques (whatever that may mean :)
The engine is not currently available for download, trial or licensing
because it is still under heavy development. I plan to release it freely
for educational purposes when it is a bit more mature and I also consider
licensing for commercial use.
Features
The engine main features are:
- Modern HDR deferred rendering pipeline with configurable post
processing filter stack. Shader model 2.0/3.0 based per-pixel lighting.
- Powerful material system. You don't write shader code directly
(although that is possible too), but rather edit a material graph like in
Unreal Engine. Support for animated materials.
- Fully dynamic lighting with dynamic shadows. All common and some
uncommon light types. Lights use the same powerful material system.
- Flexible and extensible scene graph with quadtree and octree space
partitioning.
- Vast heightmap terrains with smooth LOD transitions.
- Automatic resource management. The engine loads and unloads models,
textures, shaders and other resources as needed.
- 3D sound system, sound positioning and enviromental sound effects.
- Extensible in-engine GUI library. All common controls, fully skinable.
- Comprehensive 3D and 2D math library. Collision detection using basic
primitives (box, sphere, triangle). Ray intersection testing.
- Skeletal keyframe animations.
- Abstract input system. Support for keyboard, mouse and joystic.
- Other features:
- Written in C++, compiles natively for both 32- and 64-bit platforms.
- Unicode support throughout the engine API and GUI.
- Multithreading and background task processing.
- Built in XML parser.
- Built in HTTP client.
- Virtual file system.
- System level library with tons of utilities. Also serves as
platform abstraction layer.
More features to come:
- Interactive realistic physical simulation.
- Video streaming to texture from various sources (video files, web,
camera).
- Client/server networking architecture.
- Planned Direct3D 11 and OpenGL support.
- Planned Linux and Mac support.
Screenshots
Click on images to enlarge.
Older screenshots from the old forward renderer: