Features
Neptune 3D engine is build with extensibility in mind. It is still under heavy development but is already usable for projects such as nature rendering.
- multi platform (designed to support several operating systems such as Windows and Linux). Currently, the Windows platform is fully managed
- multi graphics API (designed to change the renderer easily). Currently, OpenGL is supported and a DirectX implementation is planned.
- multi screen (supports rendering on several screens, several windows, several viewports simultaneously and in stereo if desired)
- multi language (supports multiple languages for dialog boxes and error messages)
Already implemented
- scene graph data structure with easy addition of new node classes
- advanced viewport management: multiple screens, multi-pass rendering, compositing, HDR rendering, post-processing described with a graph
- stereo rendering (anaglyphs, active stereo on single or multiple screens, auto-stereoscopic screens)
- network support for rendering on multiple screens with several computers (transmission of camera parameters)
- full OpenGL shading language support
- extensible support for unusual input devices such as 3D mice and data gloves
- screenshots management and video export (real-time or frame per frame)
- serialization for fast loading/saving of scenes and scene objects
- import/export of external files with easy addition of importer/exporters
- support of OBJ meshes with materials (fully compatible with DAZ 3D models)
- import/export of many file image formats, including HDR and HDR videos for sky domes
- mesh primitives: box, sphere, sky dome, terrains, implicit surfaces (metaballs), grass blades, etc.
- grass with levels of detail, dynamic lighting, shadows and intuitive density management
- trees with indirect lighting and soft shadows for increased realism
- local and remote consoles for logging, dynamic modification of the scene graph and parameters of the nodes and batch execution of commands
- extensive commenting of the code for Doxygen generated documentation
- versioning using Subversion (equivalent of CVS with additional features)
Under implementation
- N3D Editor: external software for creation and modification of scenes with a modeler-like user interface
- materials based on a graph description (to create shaders without programming)
- shadow projection based on advanced shadow maps
- ambient occlusion computed directly from Neptune 3D rather than an external software
- sound management (with support for multiple sound cards simultaneously)
- plugin for DAZ Studio to export scenes directly into the Neptune 3D format
- physics using havok
- full network support for synchronization of the scene graph between several computers
Future projects
- plugin system for easy extension of the Neptune 3D core by third-party developers
- support for other shader languages such as nVidia Cg
- character animation with skinning
- head tracking for improved immersion