Skip to content
A virtual universe which lets you explore, analyze and present huge planetary datasets and large simulation data in real-time.
C++ HTML CMake CSS Shell Batchfile JavaScript
Branch: master
Clone or download
Permalink
Type Name Latest commit message Commit time
Failed to load latest commit information.
cmake 🎉 Initial source commit Aug 6, 2019
config 🔨 Rename Planets to Bodies Aug 8, 2019
docs 📝 Add documentation to docs directory Aug 12, 2019
externals 🎉 Initial CI setup Jul 19, 2019
plugins 🔨 Rename Planets to Bodies Aug 8, 2019
resources 📝 Add documentation to docs directory Aug 12, 2019
src 🔧 Build only selected branches on travis and check for clang-format Aug 9, 2019
.clang-format 🎉 Add clang-format file Jul 15, 2019
.gitattributes 🚚 Move locations JavaScript files to gui directory Aug 8, 2019
.gitignore 🎉 Initial source commit Aug 6, 2019
.gitmodules 🔧 Make relative submodules work from forked repositories Aug 8, 2019
.travis.yml 🔧 Build only selected branches on travis and check for clang-format Aug 9, 2019
CMakeLists.txt 🎉 Initial source commit Aug 6, 2019
LICENSE ©️ Update copyright information Jul 15, 2019
README.md 📝 Add documentation to docs directory Aug 12, 2019
clang-format.sh 🎉 Add clang-format script for linux Jul 15, 2019
cloc.sh 🎉 Add script for counting lines of source code Jul 15, 2019
get_example_data.bat 🎉 Initial source commit Aug 6, 2019
get_example_data.sh 🎉 Initial source commit Aug 6, 2019
make_debug.bat 🎉 Initial source commit Aug 6, 2019
make_debug.sh 🎉 Initial source commit Aug 6, 2019
make_externals.bat 🎉 Initial source commit Aug 6, 2019
make_externals.sh 💚 Build CosmoScout VR on travis Aug 8, 2019
make_release.bat 🎉 Initial source commit Aug 6, 2019
make_release.sh 💚 Build CosmoScout VR on travis Aug 8, 2019

README.md

CosmoScout VR is a modular virtual universe developed at the German Aerospace Center (DLR). It lets you explore, analyze and present huge planetary data sets and large simulation data in real-time.

Build Status magazine license c++17 source loc plugin loc comments gitter

The software can be build on Linux (gcc or clang) and Windows (msvc). Nearly all dependencies are included as git submodules, please refer to the documentation in order to get started.

Features

Below is a rough sketch of the possibilities you have with CosmoScout VR. While this list is far from complete it provides a good overview of the current feature set.

  • Solar System Simulation
    • Positioning of celestial bodies and space crafts based on SPICE
    • Rendering of highly detailed level-of-detail planets based on WebMapServices (with csp-lod-bodies)
    • Rendering of configurable atmospheres (Mie- and Rayleigh-scattering) around planets (with csp-atmospheres)
    • Physically based rendering of 3D satellites (with csp-satellites)
    • Rendering of Tycho, Tycho2 and Hipparcos star catalogues (with csp-stars)
    • Rendering of orbits and trajectories based on SPICE (with csp-trajectories)
    • Rendering of shadows
    • HDR-Rendering
  • Flexible User Interface
    • Completely written in JavaScript with help of the Chromium Embedded Framework
    • Main UI be drawn in screen- or world-space
    • Web pages can be placed on planetary surfaces
    • Interaction works both, in VR and on Desktop
    • Clear API between C++ and JavaScript
  • Cross-Platform
    • Runs on Linux
    • Runs on Windows
    • Runs on MacOS
  • System Architecture
    • Plugin-based - most functionality is loaded at run-time
    • Network synchronization of multiple instances
  • Hardware device support - CosmoScout VR basically supports everything which is supported by ViSTA and VRPN. The devices below are actively supported (or planned to be supported).
    • Mouse
    • Keyboard
    • HTC-Vive
    • ART-Tracking systems
    • 3D-Connexion Space Navigator
    • Multi-screen systems like tiled displays or CAVE's
    • Multi-screen systems on distributed rendering clusters
    • Side-by-side stereo systems
    • Quad-buffer stereo systems
    • Anaglyph stereo systems
    • Game Pads like the X-Box controller

Plugins for CosmoScout VR

CosmoScout VR can be extended via plugins. In fact, without any plugins, CosmoScout VR is just a black and empty universe. Here is a list of available plugins.

Official Plugins Description Screenshot
csp-anchor-labels Draws a click-able label at each celestial anchor. When activated, the user automatically travels to the according body. The size and overlapping-behavior of the labels can be adjusted. screenshot
csp-atmospheres Draws atmospheres around celestial bodies. It calculates single Mie- and Rayleigh scattering via raycasting in real-time. screenshot
csp-fly-to-locations Adds several quick travel targets to the sidebar. It supports shortcuts to celestial bodies and to specific geographic locations on those bodies. screenshot
csp-lod-bodies Draws level-of-detail planets and moons. This plugin supports the visualization of entire planets in a 1:1 scale. The data is streamed via Web-Map-Services (WMS) over the internet. A dedicated MapServer is required to use this plugin. screenshot
csp-measurement-tools Provides several tools for terrain measurements. For example, it supports the measurement of distances, height profiles, volumes or areas. screenshot
csp-rings Draws simple rings around celestial bodies. The rings can be configured with a inner and a outer radius and a texture. screenshot
csp-satellites Draws GTLF models at positions based on SPICE data. It uses physically based rendering for surface shading. screenshot
csp-sharad Renders radar datasets acquired by the Mars Reconnaissance Orbiter. The SHARAD profiles are rendered inside of Mars, the Martian surface is made translucent in front of the profiles. screenshot
csp-simple-bodies Renders simple spherical celestial bodies. The bodies are drawn as an ellipsoid with an equirectangular texture. screenshot
csp-stars Draws 3D-stars loaded from catalogues. For now, it supports the Tycho, the Tycho2 and the Hipparcos catalogue. screenshot
csp-trajectories Draws trajectories of celestial bodies and spacecrafts based on SPICE. The color, length, number of samples and reference frame can be configured. screenshot

Getting Started

CosmoScout VR is research software which is still under heavy development and changes on a daily basis. Many features are badly documented, it will crash without warning and may do other unexpected things. We are working hard on improving the user experience - please report all issues and suggestions you have!

There are several guides in the docs directory to get you started!

License

Copyright (c) 2019 German Aerospace Center (DLR)

Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:

The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.

THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.

Credits

Some badges in this README.md are from shields.io.

You can’t perform that action at this time.