Singularity project

Project description

  • This project was started as an experiment to try and build lua bindings for various libraries and use them in a generic framework built with OpenSceneGraph and wxWidgets.
  • It initially provided a powerfull lua binding generation system called sgtLuna and the corresponding bindings for OSG and wxWidgets. It was then extended progressively with bindings and tests for more than 30 C++ libraries including:
    • SPARK (lightweight, portable Particle Engine)
    • TUIO (protocol for multitouch control): controlling a 3D scene display from a smartphone for instance.
    • VLC: Displaying video textures
    • AntTweakBar: light and intuitive graphical user interface in 3D scene (as HUD)
    • Assimp library (Open Asset Import Library): support to load multiple 3D model formats
    • FreeImage library: support to load multiple image formats
    • Box2D: 2D Physic engine integration
    • Gizmo library: used to display in scene object manipulation gizmos.
    • Bullet: 3D Physic engine integration
    • MathGL: Math rendering in OpenGL
    • MySQL: Database connection support
    • Awesomium: advanced Web browser integration
    • Kinect: support for skeleton control in 3D scene with an Xbox 360 Kinect
    • NAIF Spice Toolkit: support precise astronimical bodies positioning
    • micropather: A* path finding library
    • Proland: worked on integration of the INRIA proland engine components into OSG
  • The software was also built with multi-platform support with support both Windows and Linux.

Skills & Techs

  • OpenSceneGraph
  • C++
  • Lua
  • GLSL


  • The initial sources for this project are available on github.