====== 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** ===== Sources ===== * The initial sources for this project are available on [[https://github.com/roche-emmanuel/singularity|github]]. ===== Images ===== {{public:projects:singularity:test_assimp.png?nolink|}} Open Asset Import Library integration {{public:projects:singularity:test_atb.png?nolink|}} AntTweakBar GUI integration {{public:projects:singularity:test_box2d.png?nolink|}} Box2d physic engine integration {{public:projects:singularity:test_bullet.png?nolink|}} Bullet physic engine integration {{public:projects:singularity:test_freeimage.png?nolink|}} FreeImage library integration {{public:projects:singularity:test_gizmo_rotate.png?nolink|}} Gizmo rotation implementation {{public:projects:singularity:test_gizmo_scale.png?nolink|}} Gizmo scale implementation {{public:projects:singularity:test_gizmo_translate.png?nolink|}} Gizmo translate implementation {{public:projects:singularity:test_mathgl.png?nolink|}} MathGl integration {{public:projects:singularity:test_spark.png?nolink|}} Spark particle engine integration {{public:projects:singularity:test_vlc.png?nolink|}} VLC video stream integration {{public:projects:singularity:test_web.png?nolink|}} Awesomium web engine integration {{public:projects:singularity:proland_view_1.png?nolink|}} Proland rendering integration {{public:projects:singularity:proland_view_2.png?nolink|}} Proland trees rendering integration