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