Enables globe-browsing data to be cached using caching mrf's as it is loaded from the original dataset. Subsequent reads of tiles that have been cached do not query the original dataset but picks it up from the mrf data.
Supports anything that can be used a dataset for a gdal raster but raw images such as JPGs are explicitly disallowed as they lack necessary geotransform data.
Activated on a global scale by setting the following keys in openspace.cfg (ModuleConfigurations/GlobeBrowsing)
MRFCacheEnabled = true,
MRFCacheLocation = "<somepath>",
Settings can be overriden on a per-layer basis by adding the following entries to the layer entity of an asset
CacheSettings = { Enabled = true, Compression = "LERC", BlockSize = 512, Quality=25 },
The following per-layer settings are available and override the global module settings:
Enabled : enable/disable caching for this layer.
Compression: The compression algorithm to use for tile cache storage. (JPEG, PNG, or LERC)
BlockSize: Size of tiles in cache, should be a multiple of 2 although this is not required.
Quality: The quality setting of the JPEG compression (when used)
Note that heightlayers must use LERC compresison and this is the default unless overridden by a layer.
OpenSpace is an open source, non-commercial, and freely available interactive data visualization software designed to visualize the entire known universe and portray our ongoing efforts to investigate the cosmos. Bringing the latest techniques from data visualization research to the general public, OpenSpace supports interactive presentation of dynamic data from observations, simulations, and space mission planning and operations. The software works on multiple operating systems (Windows, Linux, MacOS) with an extensible architecture capable of powering both personal computers and also high resolution tiled displays and planetarium domes. In addition, OpenSpace enables simultaneous connections across the globe creating opportunity for shared experiences among audiences worldwide. The target audience of the software reaches from the general public who wishes to explore our universe, enthusiasts interested in hacking the underlying components in OpenSpace to create unique experiences, informal science institutions wishing to create a low-cost, yet powerful exhibition piece, but also scientists desiring to visualize their datasets in a contextualized, powerful software.
Background
OpenSpace started as a collaboration between Sweden's Linköping University (LiU) and the American Museum of Natural History (AMNH). Development of the software began several years ago through a close collaboration with NASA Goddard's Community Coordinated Modeling Center (CCMC) to model space weather forecasting and continued with visualizations of NASA's New Horizons mission to Pluto and ESA's Rosetta mission to 67P/Churyumov-Gerasimenko. This promising set of preliminary work provided a foundation for continued funding from NASA, the Swedish eScience Research Centre, and the Knut and Alice Wallenberg foundation, which has extended the collaboration to include the University of Utah's Scientific Computing and Imaging (SCI) Institute, New York University's Tandon School of Engineering, multiple informal science institutions across the world, and multiple, international vendors.
Features
Some of the high-level features supported in OpenSpace are:
- AMNH's Digital Universe catalog of extrasolar datasets (stars, galaxies, quasars, ...)
- High-resolution planetary images for major objects in the solar system (Earth, Moon, Mars, Venus, ...)
- Animated 3D models representing space missions (ISS, New Horizons, JWST, ...)
- Support for custom profiles with arbitrary user-defined content
- Ability to drive any type of display environment (flat screen, multi-projector, planetariums, ...)
- Lua and JavaScript interface into the engine allowing highly customized controls
- Native support to export an interactive sessions as individual frames for video export
- much much more (see our Changelog)
OpenSpace requires at least support for OpenGL version 3.3, some custom components require at least version 4.2.
Getting Started
This repository contains the source code and example profiles for OpenSpace, but does not contain any data. To build and install the application, please check out the GitHub Wiki. Here, you will find two pages, a build instruction for all operating systems and then additional instructions for Windows, Linux (Ubuntu), and MacOS. Please note that the Apple Silicon series of chips do not support OpenGL natively and Metal 2 does not support double precision accuracy (see here Section 2.1), therefore only the Intel processors for MacOS are supported and maintained.
Requirements for compiling are:
- CMake version 3.25 or above
- C++ compiler supporting C++20 (MSVC 19.31, GCC11, Clang14, AppleClang 13.1.6)
- Boost
- Qt
Feel free to create issues for missing features, bug reports, or compile problems or contact us via email. Regarding any issues, you are very welcome on our Slack support channel to which you can freely sign-up.
License
The contents of this repository is under an MIT license.



