NG3DV

Position: Software Architect & Lead Developer
Schedule: Jan. 2009 - Dec. 2011
Client: German Aerospace Center (DLR)
Team size: 2 people

Project description

NG3DV was built as the successor to the SatViz project described below. The goal was to re-implement the simulation system with a unified and simplified architecture, using updated technologies to improve the overall robustness, usability and performance level.

The project was structured as a framework that could be extended with different plugins. It provided all important sub-projects supported in SatViz, and was also extended with more sub-projects such as:

  • Mars Express,
  • TET satellite,
  • UAV simulator

This software also introduced many new features such as:

  • Advanced shader effects,
  • Earth map providers integration,
  • Large scale environment simulation,
  • Multi-window display, etc.

Responsibilities & Achievements

  • I initiated and defined the complete software architecture.
  • I upgraded the OSG based 3D engine created for SatViz and integrated it into a wxWidget based application.
  • I gathered significant experience with:
    • GUI development,
    • Networking protocols,
    • Project management,
    • OpenSceneGraph framework & GLSL shaders,
    • Online Earth Map services
  • I implemented advanced features on the 3D engine such as:
    • Retrieval of Microsoft Virtual Earth imagery and NASA World Wind elevation layers,
    • Complex shading effects (atmospheric scattering, realistic ocean, etc)
    • Orbit propagation and footprint projection on Earth,
    • Video streaming support with ffmpeg
    • Integration in web page with a java applet
    • License management and encryption

⇒ The NG3DV software replaced the SatViz installations and was used during many years for public demonstration and satellite monitoring. This re-newed system overpassed initial expectations and offered astonishing new capabilities such as handling more than 1000 satellites with precise positioning concurrently.

Skills & Techs

  • OpenSceneGraph
  • osgEarth
  • C++
  • wxWidgets
  • GLSL
  • 3DS Max
  • Java
  • Visual Studio
  • CMake
  • SVN

Images