Neptune 3D


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