Recent Releases of OpenSpace
OpenSpace - 0.21.2
This patch release fixes an issue where planetary surfaces would disappear when the camera approaches them and high-resolution images were displayed.
Features
- Added the functionality to automatically choose a discrete graphics card over an integrated graphics card on laptops that have both
- Improved the rendering of orbital trajectories, specifically for very large datasets (#3739)
- Improved the visual fidelity of Saturn's rings and its shadow on the planet (#3749)
UI
- Moved the map of Earth from the night sky panel into the GeoLocation panel and add the ability to search for features on other planetary bodies (OpenSpace/OpenSpace-WebGui#184)
- Added a confirmation dialog to some property settings that are irreversible, like disabling the mouse input (#3730)
- Correctly reflect in the user interface when navigation and time controls are disabled during recording playbacks (OpenSpace/OpenSpace-WebGui#175)
- Added a new tab to the ScreenSpace renderables panel to add a browser with a specific webpage (OpenSpace/OpenSpace-WebGui#177)
- Added the functionality to hide panels at lower visibility levels. Hide the ScriptLog unless the visibility is set to "Advanced User" (OpenSpace/OpenSpace-WebGui#186)
- Improved the keybinds panel to show all keys bound to a specific key instead of needed to manually switch between Shift, Alt, and Ctrl keybindings (OpenSpace/OpenSpace-WebGui#182)
- Improved the handling of text fields that are too long by displaying hover tooltips that show the full name of, for example, scene graph nodes (OpenSpace/OpenSpace-WebGui#188)
Content
New Assets
- Added a new asset for 3I/ATLAS
- Added a new asset with an action for locking temporal layers (#3760)
Updates to existing Assets/Profiles
- Updated the temporal night time layer on Earth as the previous was no longer working
- Changed GUI naming and coloring for 1I/'Oumuamua and 2I/Borisov and added labels for both
- Removed Plutos Keplerian trail as the new kernels are now reaching back to 1549 (#3726)
- Renamed Galactic Line/Band to equator and updated their identifiers (#3737)
- Added a longitude/latitude grid to Earth (#3059)
- Added missing absPath() in the slidedeck example
- Fixed the Sun glare to use the correct billboarding for fisheye rendering
Content creation
ContiguousModeinRenderableOrbitalKepleris now an AdvancedUser property
API
- Added the camera view direction information to the camera topic (#3741)
Bug Fixes
- Occasionally, the camera was moved outside the universe when rotating around Earth (#3497)
- Important: If you are using the MRF cache, you need to delete the
mrf_cache/Earth/Height Layers/Terrain_tilesetfolder
- Important: If you are using the MRF cache, you need to delete the
- The JWST profile failed to load
- The Euclid profile failed to load
- The Messenger profile failed to load
- It was not possible to load the user interface on a different device (OpenSpace/OpenSpace-WebGui#187)
- Shift-clicking the enabled checkbox for scene graph node caused the immediateness to get stuck (#3744)
- The info button in the kebab menu of the current scene graph was not visible (#3735)
- When the Lua console was open, any keystroke was still being used by the main user interface (#3649)
- The
GanymedePositionscene graph node was placed in the incorrect folder in the Juice profile - The names for many profiles in the meta information was incorrect (#3743)
- The opacity slider for the Milky Way galaxy was inoperable
- The quick adjust slider in the time panel was broken (OpenSpace/OpenSpace-WebGui#176)
- The "All globes" illumination was not actually applied to all globes (#3729)
- It was not possible to focus the camera on Charon
- The Local Dwarf Groups were using a wrong color mapping
- It was not possible to pick a text value from the script log in the Profile editor (#3620)
- The menu bar on MacOS was incorrectly set, causing crashes
- It was not possible to use relative paths in a GeoJSON texture (#3761)
- The planets sonification was crashing when no planets were available
- The documentation for RenderablePlaneSpout and RenderableSphereSpout was missing
- The min/max values for the transform matrix of a RenderableModel were set incorrectly (#3746)
- When calling
setPropertyValuewith a 0 second duration, the postscript was not called - Some long tooltip descriptions were not correctly broken across lines (OpenSpace/OpenSpace-WebGui#180)
- It was possible to drag a hidden window from just below the menu bar (OpenSpace/OpenSpace-WebGui#183)
- Exoplanet globes were producing warning messages when they only had a single solid color (#3728)
- Exoplanet globes were producing warning messages when MRF caching was enabled
- Image layers based on PNG and JPG were producing excessive warning messages when MRF caching was enabled
- Using the
toggleFadefunction was printing an error message even though there was no error condition - The Video module had an enabled property that was unused
Scientific Software - Peer-reviewed
- C++
Published by alexanderbock 5 months ago
OpenSpace - 0.21.1
Features
- Added the functionality to automatically choose a discrete graphics card over an integrated graphics card on laptops that have both
- Improved the rendering of orbital trajectories, specifically for very large datasets (#3739)
- Improved the visual fidelity of Saturn's rings and its shadow on the planet (#3749)
UI
- Moved the map of Earth from the night sky panel into the GeoLocation panel and add the ability to search for features on other planetary bodies (OpenSpace/OpenSpace-WebGui#184)
- Added a confirmation dialog to some property settings that are irreversible, like disabling the mouse input (#3730)
- Correctly reflect in the user interface when navigation and time controls are disabled during recording playbacks (OpenSpace/OpenSpace-WebGui#175)
- Added a new tab to the ScreenSpace renderables panel to add a browser with a specific webpage (OpenSpace/OpenSpace-WebGui#177)
- Added the functionality to hide panels at lower visibility levels. Hide the ScriptLog unless the visibility is set to "Advanced User" (OpenSpace/OpenSpace-WebGui#186)
- Improved the keybinds panel to show all keys bound to a specific key instead of needed to manually switch between Shift, Alt, and Ctrl keybindings (OpenSpace/OpenSpace-WebGui#182)
- Improved the handling of text fields that are too long by displaying hover tooltips that show the full name of, for example, scene graph nodes (OpenSpace/OpenSpace-WebGui#188)
Content
New Assets
- Added a new asset for 3I/ATLAS
- Added a new asset with an action for locking temporal layers (#3760)
Updates to existing Assets/Profiles
- Updated the temporal night time layer on Earth as the previous was no longer working
- Changed GUI naming and coloring for 1I/'Oumuamua and 2I/Borisov and added labels for both
- Removed Plutos Keplerian trail as the new kernels are now reaching back to 1549 (#3726)
- Renamed Galactic Line/Band to equator and updated their identifiers (#3737)
- Added missing absPath() in the slidedeck example
- Fixed the Sun glare to use the correct billboarding for fisheye rendering
Content creation
ContiguousModeinRenderableOrbitalKepleris now an AdvancedUser property
API
- Added the camera view direction information to the camera topic (#3741)
Bug Fixes
- Occasionally, the camera was moved outside the universe when rotating around Earth (#3497)
- Important: If you are using the MRF cache, you need to delete the
mrf_cache/Earth/Height Layers/Terrain_tilesetfolder
- Important: If you are using the MRF cache, you need to delete the
- The JWST profile failed to load
- The Euclid profile failed to load
- The Messenger profile failed to load
- It was not possible to load the user interface on a different device (OpenSpace/OpenSpace-WebGui#187)
- Shift-clicking the enabled checkbox for scene graph node caused the immediateness to get stuck (#3744)
- The info button in the kebab menu of the current scene graph was not visible (#3735)
- When the Lua console was open, any keystroke was still being used by the main user interface (#3649)
- The
GanymedePositionscene graph node was placed in the incorrect folder in the Juice profile - The names for many profiles in the meta information was incorrect (#3743)
- The opacity slider for the Milky Way galaxy was inoperable
- The quick adjust slider in the time panel was broken (OpenSpace/OpenSpace-WebGui#176)
- The "All globes" illumination was not actually applied to all globes (#3729)
- It was not possible to focus the camera on Charon
- The Local Dwarf Groups were using a wrong color mapping
- It was not possible to pick a text value from the script log in the Profile editor (#3620)
- The menu bar on MacOS was incorrectly set, causing crashes
- It was not possible to use relative paths in a GeoJSON texture (#3761)
- The planets sonification was crashing when no planets were available
- The documentation for RenderablePlaneSpout and RenderableSphereSpout was missing
- The min/max values for the transform matrix of a RenderableModel were set incorrectly (#3746)
- When calling
setPropertyValuewith a 0 second duration, the postscript was not called - Some long tooltip descriptions were not correctly broken across lines (OpenSpace/OpenSpace-WebGui#180)
- It was possible to drag a hidden window from just below the menu bar (OpenSpace/OpenSpace-WebGui#183)
- Exoplanet globes were producing warning messages when they only had a single solid color (#3728)
- Exoplanet globes were producing warning messages when MRF caching was enabled
- Using the
toggleFadefunction was printing an error message even though there was no error condition - The Video module had an enabled property that was unused
Scientific Software - Peer-reviewed
- C++
Published by alexanderbock 5 months ago
OpenSpace - 0.21.0
You can download pre-built binaries from here or find more information on our homepage.
Features
- The entire user interface of OpenSpace is reworked to be more user friendly and provide more flexibility when using the software (#3608)
- Better organization of the scene menu and the properties contained within it
- All windows are now resizable and dockable
- Complete control over which buttons are shown on the toolbar
- Added support for internationalization of the front-end text
- A new notification system informing of warnings and errors
- The Getting Started Tour now is displayed automatically the first time OpenSpace is started on a computer
- A new panel designed for Night Sky shows
- Support for a greater range of dates
- Redesign and future-proofing of all aspects of the user interface
- Added a new webpage "ShowComposer" accessible through the user panels or opening a new browser to (http://localhost:4680/showcomposer) with the ability to create custom interfaces for specific shows
- The documentation page (https://docs.openspaceproject.com) has been overhauled and now contains a lot more information to both present existing assets in OpenSpace, as well as example files helping the creation of new datasets
- It is possible to store the profile and configuration that were used for the last start of OpenSpace from the Launcher (#3410)
- Adding support for sending Telemetry about OpenSpace using the opensoundcontrol protocol, making data available for Sonification purposes (#3461)
- The
OpenSpaceDatafolder that can contain optional maps has now been moved from living next to the OpenSpace installation to be being place inside theuserfolder with the nameglobebrowsing(#3567) - When using the
ZandXkeys, the sensitivity change now increases gradually (#3064, #3065) - Exoplanets
- Add the ability to show a label for added Exoplanet Systems (#3318)
- Each exoplanet now has a color layer indicating their size (terrestrial, super-earth, neptune-like, or gas giant and larger) (#3412)
- Add the option to specify a default texture for added exoplanets (#3353)
- The entire exoplanet generation logic is now accessible (and modifiable via a Lua script
- Add the movement of stars according to their proper motion if velocity information is included in the star datasets (#3561)
- Add the ability to drag and drop WMS files to add them as a layer to the current anchor node
- Add the ability to drag and drop an entire folder, which will add all files contained within
- Make it possible to feather the border frame color of ScreenSpace objects
- Add support for correction meshes created by the ScalableSDK (sgct/sgct#101)
- Add support for sending OpenSpace windows via the NDI library (sgct/sgct#102)
- Improvements to the logging of elements in the ScriptLog (#3389)
- The contents of actions that are triggered are no longer stored in the script log file
- Added a new option
VerboseScriptLogto theopenspace.cfgto re-enable the old behavior and include a lot of more information in the script log
- Add the ability to configure the horizontal field of view per window (#3584)
- Cleanup and simplify the properties in
RenderableGlobe(#3408)- Restructure "general properties" into shadow mapping and regular ones
- Add values that could not be set from parameters (e.g. from asset or script)
- Add the ability to control the horizontal field-of-view for each window individually instead of providing a single slider. The old slider in the
RenderEnginehas been removed in favor of a newWindowinggroup inside theRenderEngine(#3584)- Add the ability to prevent windows from taking screenshots (sgct/sgct#87)
- Geodectic position and distance of the camera now correctly displays for non-globe objects
- The version request at the start of OpenSpace now also transfers the profile name unless the profile is user profile
- When hiding the user interface with F1, an informative text is now displayed explaining how to bring the user interface back into view
- Add support to mirror any window horizontally or vertically
- The
DebugModulenow also shows the node ID in the frame information overlay - Add the ability to offset the Debug statistics window in addition to scaling it
Launcher
- The Launcher application now respects the operating system's darkmode settings when in the profile editor and Window Configuration editor (#3369)
- Add support for subfolders to better organize both configurations and profiles
- The Profile editor now uses a normal Save dialog instead of the previous need to use the duplicate + renaming paradigm
- Add a submenu to the "New" button to either duplicate an existing profile or create a new empty profile (#3601)
- Add a new Notification section to the Launcher window in which important information will be shared (#3595)
- Improve the graphic design to indicate when a button is currently unavailable
- Change the layout of the Window Configuration editor to provide more explicit options which window should have Overlay rendering and 3D rendering
- Add a new panel to the Profile editor to control which WebUI button appears on the taskbar (#3569)
- User-generated profiles and window configurations now show a small "U" icon in the profile selection (#3611)
- Add keyboard shortcuts for adding and removing windows in the Window Configuration editor
- Add the option to select the tilt of a fisheye rendering
- Make it possible to pick window blitting when selecting a projection (#3568)
- The time picker in the Profile editor is now a tabbed window (#3562)
UI
- Add a new hint to determine if a scene graph node should focusable and only provide user interface elements to focus on scene graph nodes that are focusable (#3508)
- The first time OpenSpace is started on a computer, the Getting Started Tour will now appear automatically
- Fix a large amount of user interface accessibility issues (#3088, #3089, #3090, #3092, #3094, #3096, #3097, #3098, #3099, #3100, #3101, #3103, #3441, #3443, #3616)
- Improve the contrast ratios for many elements for better visibility
- The entire user interface is now keyboard navigable
- More consistent coloring of user interface elements
- Add support to enable future localization of the user interface
- Add the ability to specify a background color and a text color for actions buttons (#3551)
- Add a new optional parameter to overwrite an existing session recording file
- Change the visibility level setting of the "on-screen version" setting to "User"
- Improve the naming of the GeoJSON component in the RenderableGlobe (#2883)
- Add a new iput field in the window control to change the default field-of-view for fisheye images
Content
New Profiles
- Added a new "Today's Sun" profile that shows the state of the magnetic field around the Sun
- Add new calibrator asset and profile (closes #2268)
New Assets
- Add Kuiper constellation of satellites
- Add a new asset defining the supergalactic transformation matrix once and reusing it in other assets
- Add new assets for defined new coordinate systems related to Earth's magnetosphere (#3392)
New Maps
- Add Esri Wayback layers (#3382)
- Add WMS layer for Titan HiSAR map (#3565)
- Add new maps for the Globe representation of Phobos (#1397)
Updates to existing Assets/Profiles
- Remove the
default_fullprofile as it has outlived its usefulness and it now can be replicated user-side through the Profile editor - Updates to the
nightsskyprofile - Apply the new Focusable tag to many objects in the scene that are not meant to be focussed on
- Remove the
touchprofile as it did not have a coherent use-case apart from showing a now-defunct user interface - Remove
Uparrow keybind and retire theproperty_helperandrenderable_helperassets (#3604) - Change the tint of the SunGlare to be more yellow (#3459)
- Neptune and Uranus now use the correct period length
- Unify the
earth_satelliteandearth_satellitestags - Remove the Indian anti-satellite debris asset as the last of its known debris has reentered the atmosphere (#3529)
- Updated the exoplanet, exoplanet candidate, and brown dwarf datasets of the Digital Universe
- Updated the exoplanet data set with the newest data from the Exoplanet Archive
- The Digital Unierse assets have been rearranged and reordered in the user interface (#3460)
- Update SPICE kernel data for the Rosetta spacecraft (#3370)
- Utilize the
toggleFadefunction in more actions to ensure better functionality - Add a new Sweden-based WMS caching server to access Earth map layers
- Split up the JWST and Lagrange points assets into smaller assets (#3432)
- Change the color of the constellation boundaries (#3458)
- The Milky Way galaxy object is now parented to the root, making it not disappear when SPICE information for the solar system runs out (#3232)
- Add missing tags for the Moon (#3406)
Content creation
- Add new
ScreenSpaceInsetBlackoutclass that can be used to display a configurable black-out frame allowing to overlay secondary projectors onto the dome surface (#3657) - Add new
ScreenSpaceRenderableRenderableclass that allows the rendering of anyRenderableclass into a screenspace object using a custom camera location (#3575) - Add the ability to add base64-encoded images from webpages as ScreenSpaceImages
- Add the ability to specify longitude and latitude subdivisions in RenderableSphericalGrid (#3494)
- Add horizons-based NewHorizons asset
- Move Voyager and Pioneer horizons files into separate folders
- Create new interstellar horizons file that replaces previous voyager-pioneer one (#3273)
- Harmonizing
OrientationRenderOptionandBillboardsettings. Make RenderablePlanes use the new setting (#3630) - Add a new image plane class that displays online images keyed by the current simulation time (#3646)
- Exoplanets added through the user interface now have the
{exoplanet_planet}tag - The
SampleIntervalparameter option for theRenderableTrailTrajectoryis now optional and uses a default of 2 days by default - Add a new time-varying dashboard item class that can display information from a local disk keyed to the current simulation time (#3621)
- Add new Kepler data reader for the IAU's Minor Planet Center database files (#3591)
- Add new class
TimelineScaleto complementTimelineRotationandTimelineTranslation(#3536) - Invalid GeoJSON geometries will now load after attempting to fix them (#3452)
- Add a "time offset" option to the
SpiceRotationandSpiceTranslation(#3544) - Add the ability to run a task file at startup (#3612)
- Automatically reload texture for
RenderableSphereImageLocalwhen the file on disk changes (#3500) - Add new renderable
RenderableSwitchclass that switches between two renderables (#3597) - Add the ability to the
RenderablePlaneto perform distance-based scaling (#3598) - Allow OptionProperty to receive either indices or the textual representation of the value when setting them through the
openspace.setPropertyValuefunction (#3524) - Add the ability to choose the domain filtering in the asset for a fieldline sequence (#3437)
- Add new types for Scale, Translation, and Rotation that combines multiple instances together
- Missing Horizons files in a
HorizonsTranslationare now considered an error instead of a warning - A missing image in a
ScreenSpaceImageLocalis now an error instead of a warning - Add new
TimeFramethat parses Spice kernels (#3600) - The
Layerss specification in aRenderableGlobeis now optional - Add a new DashboardItem to show the camera's orientation (#3542)
- Add a new Lua function (
openspace.setGuiOrder) to specify the order in which scene graph nodes are displayed. This can be either based on an explicit ordering by name or through a numerical order (#3337) - Nautical miles is now a valid distance units wherever they are accepted
- Add the ability to limit-rate the dashboard updating (#3527)
- The
RenderableDebugPlaneis now aScreenSpaceRenderable(#3483) - Rename the DataCygnet, DataPlane, DataSphere, IswaCygnet, KameleonPlane, TextureCygnet, TexturePlane to include the prefix
Renderable(#3689) - Added a new property to
RenderableFieldlinesSequencecalledShowAtAllTimeswhich if set to true allow the first data file in the sequence to be visualized to be shown before the interval and the last data file, after the interval.
Lua
- All Lua environments used for executing scripts and loading assets are by default now sandboxed and no longer have access to operating system functions (#3378)
- Improve performance when using the
setPropertyValuefunction (#3579) - Add the ability to combine Tags in the
openspace.setPropertyValuefunction supporting the operations of intersection (&), union (|), and negation (~) (#3638) - Add a new Lua function
openspace.navigation.setFocusthat simplifies the programmatic setting of the current focus node (#3534) - Moved a number of functions related to globe locations from the
globebrowsingandpathnavigationnames into thenavigationname (#3613)jumpToGeo,flyToGeo,flyToGeo2,localPositionFromGeo,isFlying,flyTo,flyToHeight,flyToNavigationState,zoomToFocus,zoomToDistance,zoomToDistanceRelative,jumpTo,jumptoNavigationState
- Add a new Lua function
openspace.asset.reloadto reload a dynamically loaded asset (#3543) - Add new Lua function
openspace.scheduleScriptwith the the ability to schedule scripts based on wall-clock time - When copy-pasting text into the in-game console, “ and ” are replaced with " to make them functional. When copy-pasting text with \, replace them with / instead (#3683)
- Add possibility to set timestamp when using
openspace.pathnavigation.jumpToNavigationState - Add new Lua functions (
openspace.registerRepeatedScriptandopenspace.removeRepeatedScript) to repeatedly execute Lua scripts (#3416) - Add a new Lua function (
openspace.readFileLines) to read a file line-by-line - Add support to
openspace.addCustomPropertyto add TriggerPropertys (closes #3487) - Add a new Lua function (
openspace.resolveShortcut) that can resolve ShellLink files on Windows - Missions use an identifier instead of the user-facing name as a unique identifying string in all functions that operate on missions
- The
LuaTranslation,LuaRotation, andLuaScalescripts now have access to theopenspaceLua function table - Add two new functions,
openspace.ramInUse()andopenspace.vramInUse(), to report an estimate of the amount of memory and video memory currently being in use by OpenSpace - Update Lua interpreter to version 5.4.7
API
- A few number of breaking changes have been made to the JavaScript and Python APIs see the "Breaking Changes" section below for more detailed information
Bug Fixes
- With large screens, the user-interface did become sluggish and unresponsive (#3386)
- Trying to delete a globe layer through the user interface crashed the application (#3357)
- Adding an atmosphere at runtime would sometimes crash the application (#3498)
- Enabling the shadow component on a planet that doesn't have a ring system crashed the application (#3404)
- Models with baked animations would occasionally lead to a crash (#3395)
- The initial LoadingScreen froze when displayed in a small window while trying to load a profile with a large number of scene graph nodes (#3473)
- Using an invalid vector in the asset file crashed the application (#3635)
- The operating systems locale was used in a number of file reading operations, causing issues for languages where the decimal separator is not
.(#3474) - Moving a globebrowsing layer to the top of a list that only has two layers crashed the application (#3414)
- Specifying IPv4 addresses with leading 0s would cause the autodetection of the cluster ID to fail
- WMI privilege errors crashed the application (OpenSpace/Ghoul#112)
- A number of assets caused crashes and errors when loading and unloading them (#3430)
- The field lines for the Ganymede magnetic field were not shown correctly in the JUICE profile
- Many images embedded in the missions panel stopped working (#3700)
- Stars disappeared when setting the MilkyWaySphere opacity to 1 (#3304)
- The
RenderableSphericalGridwas not layered correctly with regard to other elements in the scene - Some moon assets had inconsistent naming
- Saturn's rings were experiencing shadow acne when the rings were pointing directly at the Sun (#3596)
- It was not possible to use all keys on a non-English keyboard in the user interface (#3594)
- The computation of field-of-view settings for viewports that are rotated was incorrect (SGCT/SGCT#96, SGCT/SGCT#97, SGCT/SGCT#98)
- The
Rotationof aScreenSpacewas not settable from an asset file - The
openspace.fadeOutfunction did not disable the object at end of the fading - Some of the dwarf planets were misclassified as planets in their tags
- The Horizons file editor was not using the correct ID for the "Center Body"
- TLE files with CRLF line endings did not parse correctly on Linux (#3326)
- Shader files with CRLF line endings did not parse correctly on Linux (#3472)
- Fix issues with MacOS compilation (#3695)
- Displaying multiple items with different font sizes and spacing caused layout issues in Dashboards (#3614)
- Vector-style dictionaries in asset files did not sort correctly when containing more than 9 numerical keys
- Drag and dropping GIF files caused them to be added as images, not videos, thus preventing their playback
- TileIndex and Size Reference layers did not show up at all (#3356)
- The UTC time string in the Pluto trail had the wrong formatting, preventing asset loading
- The BlackLevel mask was using the incorrect blending mode (SGCT/SGCT#99)
- Error in the window configuration file syntax were not printed correctly into the log file and only the console
- The Horizons editor now provides a more comprehensive message when it returns the "News" section (#3622)
- The opacity value of a
ScreenSpaceobject was not applied to the border color (#3355) - The prototype-based temporal tile provider did not work when using "Today" or "Yesterday"
- A new generated configuration file was created in the temporary folder every time OpenSpace was started (#3449)
- Changing the
FormatStringin theDashboardItemElapsedTimedid not change the output (#3519) - The lowest time unit parameter in the
DashboardItemElapsedTimewas not used correctly (#3515) - The plural version of the unit string was not correctly applied in the
DashboardItemElapsedTime(#3516) - Updates to the field-of-view settings for windows under some circumstances would cause floating-point inaccuracies
- The non-main dashboard was not showing up in the user interface when added to a
ScreenSpaceDashboard - The text in the
DashboardItemMissionwas not aligned correctly (#3540) - When multiple
RenderableTravelSpeeds were in the scene, it was not possible to change their colors (#3381) - Reparenting a scene graph node was not correctly updating the entire scene graph structure, leading to an error message when closing the application (#3603)
- The
RequestedUnitof aDashboardItemDistancewas hidden in the user interface (#3435) - The path for the
RenderableFluxNodewas not correctly read - Parameters from the
setPropertyValuefunction were not parsed correctly from ScriptLog in the Properties editor - The number of capture threads was too high, impacting performance when rendering frames
- The native ImGui was crashing if a mouse button was pressed at exactly the wrong time while shutting down the application (#2938)
- Navigating to a globe that has a
SolidColorlayer led to shader warnings (#3405) - The constellation asset caused a crash when it was the first asset to be loaded with a sync folder existing
- It was not possible to drag and drop shortcut files on Windows (#2544)
- User interface elements did not display the correct mouse cursors depending on the expected input modality (#2244)
- Transferring large files across a synced connection was taking a long time (sgct/sgct#77)
- The "Release" (as opposed to RelWithDebInfo) build in Windows was crashing on startup (#1657)
- The render ordering of different 2D objects was incorrect
- The "Clear Projections" button in the
ProjectionComponentwas presented as a checkbox - The "ResetTileProviders" in
RenderableGlobewas represented as a checkbox
Breaking Changes
Content
- The Touch profile no longer exists.
Lua
- Sandboxing the Lua environment will now make it impossible for Lua scripts to access functions from the
os,io, andpackagetables. In many cases, these functions were used to load files or get a list of files in a directory, and there have been native OpenSpace functions added to achieve this functionality. If you desperately need a non-sandboxed Lua, theopenspace.cfghas a new keySandboxedLuawhich if it is set tofalse, will disable sandboxing. Please be aware that this opens up the installation to a whole host of potential remote code execution issues - The
openspace.sessionRecording.startPlaybackfunction no longer inspects openspace.scriptScheduler.setModeApplicationTime,openspace.scriptScheduler.setModeRecordedTime, andopenspace.scriptScheduler.setModeSimulationTimeremoved- FBX format handling in Assimp has changed and causes a 90 degree rotation (assimp/assimp#849)
openspace.pathnavigation.jumpToNavigationStatetakes three arguments instead of two. The second argument is new and lets you set the timestamp in the jump.- Updated paths for lagrange point assets. For example:
assets\scene\solarsystem\planets\earth\lagrange_points\l2.asset->assets\scene\solarsystem\planets\earth\lagrange_points\l2\l2.asset openspace.exoplanet.addExoplanetSystemcan no longer take a list of star names. Instead, use the new functionopenspace.exoplanet.addExoplanetSystemsto add multiple exoplanet systems in one function call- AllowAdresses has been moved back into the individual socket definitions. To adapt to this change, move the
AllowAddressesdefinition next to theDefaultAccessdefinition inside theInterfacestable (#3445) openspace.fadeOutnow also disables the object once it has faded out
Asset creation
RenderableBoxGridno longer takes aLabelsComponent(#3479)RenderableDebugPlaneno longer exists. It has been replaced by a new screenspace type:ScreenSpaceDebugPlane. (#3483)RenderableDistanceLabelnow takes a string for itsDistanceUnit, instead of a number (#3485)- Default blending for
RenderableSpheres have changed from additive to "normal" blending. This may change the visuals of any created spheres. The classesRenderableSphereImageOnlineandRenderableSphereImageLocalnow have two new settings for controlling how they are endered:BlendingOptionandDisableDepth. https://github.com/OpenSpace/OpenSpace/commit/3c61857127eb97908a877738885d6fb10b21af97 RenderableRadialGridnow creates a grid with 10 segments in the radial and angular direction. Previously, it was a ring per default (https://github.com/OpenSpace/OpenSpace/commit/7f4bf7399397227bdd8dcec701139d0d9dac3f2a). To fix it, set theGridSegmentsattribute to{1, 1}in your asset that creates theRenderableRadialGrid.- Assets
property_helper.assetandrenderable_helper.assethave been removed in favor of functions in Lua API (#3604) - The
default_keybindings.assethas been split up into two assets, one with keybindings (default_keybindings.asset) and one with just the actions (default_actions.asset). As a result, the previousdefault_actions.assethas been renamed tosolarsystem_actions.asset. - Asset
scene/solarsystem/missions/voyagerpioneer/voyager1_2__pioneer10_11.assethas been replaced withscene/solarsystem/missions/interstellar_horizons.assetand now also includes New Horizons (https://github.com/OpenSpace/OpenSpace/commit/b111b24e8ae49a23b90cef608a42a45a9d9fa35e) - The y-value for Dashboard location is now inverted compared to how it was before, so that the y-values are specified as positive values instead of negative (#3614)
RenderablePointCloudsOrientationRenderOptionparameter/property has been renamed toBillboard(https://github.com/OpenSpace/OpenSpace/pull/3630)RenderableFieldlinesSequences PropertyInfo identifierReversedrenamed toReversedFlowto match input parameter name.RenderableFieldlinesSequences PropertyInfo identifierSpeedrenamed toFlowSpeedto match input parameter name.RenderableFieldlinesSequences PropertyDomainEnabledmoved into the property groupDomainprompting a call like Renderable.DomainEnabled to be changed to Renderable.Domain.DomainEnabled.RenderableFieldlinesSequences PropertyFlowEnabledmoved into the property groupFlowprompting a call like Renderable.FlowEnabled to be changed to Renderable.Flow.FlowEnabled.RenderableFieldlinesSequences PropertyLoadAtRuntimeremoved.
Properties
- Changed identifier of property
EnabledMinimumAllowedDistancetoEnableMinimumAllowedDistancein order to matchEnableMaximumAllowedDistance(https://github.com/OpenSpace/OpenSpace/commit/5a862c27d8b0d85c11d79300c7a60f1a077732e8) - Changed identifier for property owner in
RenderableGlobefromGeoJsontoGeographicOverlays(https://github.com/OpenSpace/OpenSpace/commit/e93ad7910f2bc93d884aab6b8a3d3535538b75e9)
Other
- This release includes a number of keybindings changes, partly motivated by the UI redesign:
- Removed keybinding to
Uparrow key (that interpolated the time to now). The action still exists in the actions panel
- Removed keybinding to
ESCto exit OpenSpace has been replaced withCtrl+QTABandShift+TABfor showing/hiding UI features have been replaced withF1andShift+F1Alt+Rto hide rendering on master node has been removed. The action still exists in the actions panel
Scientific Software - Peer-reviewed
- C++
Published by alexanderbock 6 months ago
OpenSpace - 0.20.1
You can download pre-built binaries from here. Or find more information on our homepage.
You can find a list of breaking changes against 0.19 here.
Features
- 2024 Digital Universe Data Update
- Add new TileProvider to select tile providers based on the date and apply to VIIRS Joint Polar Satellite System (#3350)
- Provide better error messages when failing to load an asset due to verification failures
- Add support for model vertex colors (#3346)
- Reduce the number of capture threads used by SGCT to optimize image sequence framerate
- Add server name to parallelpeer authentication, used as unique identifier on wormhole server
- Add the ability to scale the debug statistics graphs
- Move the statistics and frame info rendering from the RenderEngine into the debugging module ( #1248)
- Update Ghoul to get more information on when WMI queries fail (#3330)
UI
- Add possiblity to sort SGNs in GUI based on numerical value
- Small Node Popover menu refactor
Content
New Assets
- Add an example asset to show the current in-game time in a screenspace object (#3312)
- Add new advanced example assets for the point cloud rendering
Updates to existing Assets/Profiles
- Add Down and Up keybinds to set the time to realtime and "now" respectively (#3275)
- Fix spelling mistake in Haumea model
- Fix a warning from hdf.asset due to a missing dataset parameter (#3343)
- Removed the version numbers from asset files as they were unused and inconsistent
- Remove the large data files from the URLSynchronization example files to make the file loadable
- Use the correct way to scale the Eiffel tower educational asset
Content creation
- Add the ability to specify DashboardItems for ScreenSpaceDashboards in assets.
- Make the 'Layer's specification in RenderableGlobe optional
- Improve error messages and export DashboardItem documentation
- Adds a task to generate a raw volume (used in for example RenderableTimeVaryingVolume) from a CSV file.
- The default for actions is now to have them not local (#3194)
Lua
- Add Lua function to calculate the number of seconds between dates and use it in assets (#3332)
- Add a new Lua function to create debug axes for the current focus node
Bug Fixes
- Fix a multithreaded access to SPICE that could cause a crash on startup (#3345)
- Fix a bug where the keyboard shortcuts would no longer be displayed
- Correctly consume char-based keyboard callbacks in the CEF module (#3290)
- Prevent crash when starting without any enabled audio devices (#3329)
- Fix bug with resizing the WorldWideTelescope window
- Fix an issue with the point cloud rendering texture not being rendered when the texture file path is updated during runtime
- Fix a faulty example GUI path in the point cloud example files
- Generate the framebuffer for screenspace rendering without mipmapping as it handles transparency poorly
- Fix parsing TLE files with CRLF line endings on unix (#3326)
- A non-main dashboard is now correctly displayed when adding it as a propertyowner to a ScreenSpaceDashboard
- Fix an issue where the scale for ScreenSpaceDashboards was always enforced to be 1
Scientific Software - Peer-reviewed
- C++
Published by alexanderbock over 1 year ago
OpenSpace - 0.20.0
You can download pre-built binaries from here. Or find more information on our homepage.
You can find a list of breaking changes against 0.19 here.
Features
- Reworked the https://docs.openspaceproject.com documentation and moved all static information from the documentation folder to the "Reference" section on that webpage
- Add a new property to control whether the global blackout factor should apply to the master rendering (#2923)
- Add a persistent file used to store user settings such as which profile or configuration file to use (#2931)
- Shifting the keybindings (closes #1055)
- Add new action to instantly toggle all trails
- Instead of 'H', the 'T' keybind now toggles all trails
- Shift+T instantly toggles trails
- Instead of 'W', the 'B' toggles the blackout of the rendering
- Improve the responsiveness of the user interface when dragging and dropping files (#3289, #3325)
- Add support for audio playback using local MP3 files (#3085)
- Add support for a new MPCDI format used by COSM/E&S using https://tools.openspaceproject.com (#3042)
- Point Cloud rendering overhaul
- A total overhaul of the way point clouds are rendered (#2932)
- Add ability to load labels directly from CSV/SPECK for PointClouds (#2989)
- A more intuitive way of handling the scaling of points that works more reliable in multi-projector setups (#2994)
- Add the ability to interpolate positions and values for points of different timesteps (#3002)
- Add the rendering of outlines for points (round, square, or bottom) (#3044)
- Add the ability to specify comments in CSV files
- Add individual textures to points that are specified by columns in the data values (#3068)
- Add settings for the use of texture compression to reduce overall memory footprint
- Support for orientation data point cloud data (#3168)
- Partial overhaul of the star renderer (#3164)
- Remove previously unused rendering method using point point spread functions
- Stars are now represented by two textures that are layered on top of each other, each with their own settings to tweak the look and feel of the stars
- Add an explicit layer order to globe layers rather than relying on insertion order (#3281)
- Added zIndex parsing for .info files (#3298)
- General improvements for trail rendering
- Improve the performance of the trail rendering (#3287)
- RenderableOrbitalKepler trail now shows the entire trail of an object properly (#2964)
- Trail fading controls have been improved. Objects now have separate controls to determine the overall length of the trail and the percentage of the total that should be faded out (#1067, #2072, #2235)
- Trajectory trails now goes through the spacecraft when using
AccurateTrailPositions(#625) RenderableOrbitalKepler(Asteroids and satellites) can now be rendered as both trails and points (or both at once (#1212, #1472)
- Remove support for the deprecated XML configuration file format in favor of JSON-based configuration files. A converter is available at https://tools.openspaceproject.com
- File updating
- The HttpSynchronization now keeps track of files downloaded, speeding up resuming of partial downloads at startup (#2587)
- The UrlSynchronization now has an option to limit download rates to, for example only download new satellite trajectories once per day (#2586)
- Show warnings and error messages on the loading screen (#2941)
- Add log rotation to the log file and the script log, keeping the last 5 by default (#2995)
- Add the ability to drag-and-drop a video file to add it as a ScreenSpaceRenderable (#2988)
- Change the navigation state format from Lua to JSON and add the current simulation time to the state. Add the ability to set the navigation state in the profile editor based this file (#3023, #3078)
- Allow transparency for movies (#2792)
- ScreenSpaceRenderables are now affected by the RenderEngine's blackout factor, hue, value, saturation, and gamma values. It is possible to ignore the blackout factor (#2868, #3293)
- Add new environment variable to control the location of the MRF cache. If it is not provided, but OPENSPACEGLOBEBROWSING is, it is stored in a `mrfcache` subfolder instead
- Move the local bookmarks file from
datato theuserfolder - Commandline
- Remove the ability to specify a generic Lua script as a commandline argument
- Add the ability to set selected individual commandline options instead
- Add the ability to override the openspace.cfg file by providing an openspace.cfg.override file
- Add a new property to control how long the fading takes when jumping between screen graph nodes
- Allow the SessionRecording subsystem to write a file outside of the
user/recordings/folder (#3150) - Make the co-rotation of the camera dependent on the bounding sphere rather than interaction sphere (#3017)
- Move the global customization script from the
scriptsfolder to theuserfolder (#3198) - Add the ability to limit camera the camera movement to only orbit around a node's "up" axis (#2874)
- General performance improvements when starting OpenSpace (#3142)
- Add the ability to have the idle rotation to orbit around a node's "up" axis (#2916)
- Remove the ability to set alpha channel for windows
- Remove ability for external control ports (#80)
- Remove unused loading screen progress bar as it does not show an accurate estimation of times and was rarely used
- Increase the default value for linear rotation speed of the automated camera path navigator (#2584)
- Add the ability to export the focus node's model matrix in an ASCII session recording
- Show the amount of downloaded data as soon as the download is started (#2460)
Launcher
- Add a new control panel to the main window to control the contents of the new persistant storage
- Add a search and filtering to the profile assets editor (#2623)
- Add tooltip descriptions in the launcher for window configurations (#2475)
- Harmonize naming of accessing the script log in the launcher
- Automatically scroll to the bottom of the script log list by default (#3268)
UI
- Add more options for the focus menu (#167)
- Add some initial buttons for flying
- Add a focus button
- Add a section with settings
- Make the zoom-to button work for any node and provide a tooltip hint
- Add the ability to create new custom user panels by placing them in the
userfolder or providing a URL - Add a "Quick Access" entry in the Scene menu to provide access to featured nodes (#174)
- Add new settings settings to exoplanet panel (#163, #1440, #2943)
- Add checkboxes for habitable zone and show uncertainty of orbits
- Add tooltip information explaining the different settings
- Prevent errors when no systems are added
- Add setting for 1 AU size ring
- Add tags that can be used to set object visibility from UI
- Add module property for hiding/showing orbiting uncertainty disc
- Add tag for 1 AU ring and change color to something that's different from orbits
- Add property for circle color
- Add a new button to open the GUI in an external browser (#182)
- Add settings for the jump-to functionality (#3080)
- The geoposition panel layout has been overhauled to make it more user-friendly
- Improve information in Node Meta panel to be more clear (#154)
- The "Show only enabled" option in the Scene menu should show only visible nodes (#160)
- Improve search functionality in the the Scene menu and add the ability to show hidden nodes (#3082)
- Show a timer for how long time left in camera path (#2665)
- Remove duplicated UI code and make "Browser" and "Remote" versions of the UI to be the same (#168)
- Update icons to use the react-icons package instead of online resources (#2794)
- Always show all nodes in ImGui, even if SGN has
guiHiddenproperty is true
Content
New Profiles
- Add a new profile for the Euclid mission (#2970)
- Add a new profile for the BepiColombo mission (#3000)
New Assets
- Add a new asset showing the Tiangong space station
- Add two more joystick controller assets
- Add a new asset to show a text marker for the moon (#2831)
- Add assets to provide with default colormaps (#2985)
- Add asset showing only the Big Dipper constellation (#3157)
- Add time reversal and sidereal actions (#3159)
- Add new asset showing the historical epicycle concept (#2518)
New Maps
- Add temporal map layer that presents the imagery from the VIIRS instrument on NOAA21
- Add new map layer showing the last 5000 years of eclipses (#3069)
Updates to existing Assets/Profiles
- Update the orientation of the ISS to be correctly along the trajectory for +/- 1 day of the current day
- Overall Layers maintenance (#2917)
- Separate layers for the Moon and Earth
- Provide separate assets for Utah, Sweden, and New York servers
- Add new layers structure for Mars and Europa
- Add layers assets for Mercury and Enceladus
- Add more layer assets for all servers
- Rename Venus Utah cloud combo layer asset
- Update dataset for the solarsystem small body database (asteroids and comets mostly) (#3291)
- Update the exoplanet dataset (#3301)
- Update Star position to match the star locations in the global bookmarks file (closes #3258)
- Add a mission timeline file to the JUICE mission (#2823)
- Update the Voyager kernels to reach year 2100 (#2790)
- Update faulty tags for Charon and update some other Pluto moon tags for consistency
- Global pass over all actions to make most of them not local
- Disable minor moons of Jupiter and Saturn on startup in the
default_fullprofile (#3169) - Simplify Apollo LEM Model Rotation
- Rename TileLayer to TileProvider classes (#2767)
- Remove end time from JWST model (#3135)
- Decrease the limit zoom in the Osiris-REx profile (#2473)
- Move Sun light source specification from sun.asset to transforms.asset
- Update the Voyager model file to improve the rendering speed and remove extra Blender box (#3035)
- Update to the new chlorophyll layer provided by NASA GIBS (#2959)
- Add additional tags to minor moons, trails, and labels of Jupiter and Saturn (#3272)
- Moved Spout-based layer for Earth to examples folder
- Removing all 'SSSB' elements in GUI path of the solarsystem/sssb assets and replacing the name with more descriptive names (#3322)
- Update density_volume.asset to use correct transferfunction
Content creation
- Merge
asset.localResourceandasset.syncedResourceinto a singleasset.resource(#2906)- The old functions still work, but will provide a deprecation warning
- Change name of line fade in RenderableTrail from Fade to LineFade (#2857)
- Add the ability to specify a border for ScreenSpaceRenderables (#1867)
- Add the ability to specify the
BlendModeandZ-Indexfrom .info files for layers (#3311) - Add the ability to specify local Sun position for the
RenderableGlobeandRenderableAtmosphere(#1745, #2243) - Add new renderable that can show and arrow from one node to another node (#2219)
- Add pivot property to move origin of model files
- Reorganization of SPICE file handling (#2975)
- Move kernel loading into spice files
- Add the ability to convert TLE files to SPICE kernels (#3073)
- Define Spice IDs inside assets
- Make the GeoJSON file extension parsing more flexible in Lua function (#2797)
- Allow reading GeoJson files with null geometry (#2811)
- Add property to control the actual bounding and interaction sphere value (#2967)
- Make the DestinationFrame in the SpiceRotation optional and use GALACTIC if it is not specified
- Remove the ability to implicitly load kernels from
SpiceTranslationandSpiceRotationsin favor of explicitly callingopenspace.spice.loadKernel - Remove "interesting times" concept as it has been superceded by the missions UI (#2991)
- Change the LuaScale to request a single table as a return value to be consistent with the other Lua transformation types
- Add a new property to the session recording to overwrite the scaling value when playing back a session recording and dynamically calculate it instead
- Add the ability to load additional exoplanets from a CSV file (#2225)
Lua
- Rename a number of functions to harmonize their naming scheme (mostly removing
getprefix) (#2840) - Remove the ability to have optional parameters in the beginning of Lua functions. This makes the
goToGeoandflyToGeoglobe first parameter a required parameter instead (#3151) - Rename
goToGeo->jumpToGeo(#3296) - Add a function that resets the camera back to the profile start position (#2825)
- Add a function to remove all loaded assets (#2812)
- Add functions to get a list of all scene graph nodes, scene graph nodes by renderable type (#2558), and all screenspace renderables
- Add a function to return a list of scheduled scripts (#1891)
- Add a function to return a list of all loaded kernels
- Add a function to load a JSON file and return it as a Lua table
- Add functions to access configuration settings
- Add a function that reports if we are recording a session (#2559)
- Adding a function to return whether the in-game time is currently paused
API
- Add a new topic to provide information about events (#3010)
- Add the ability to subscribe to events via the JavaScript API
- Publish an event when a scheduled script is executed (#1892)
- Publish an event when adding or removing scene graph nodes
- Publish an event when adding or removing actions
Bug Fixes
- Prevent flexing checkbox to change size (#2804)
- Remove extra background, making settings button darker than wanted
- Fix an issue that would cause actions to be triggered twice in a clustered environment (#2768)
- Provide some more information in the GEOS errors when loading a GeoJSON file fails
- Put Statue of Libery back on Liberty Island (#2787)
- Offset sample coordinate by 0.5 when estimating height values, fixing an issue with height map misalignment (#2769)
- Allow negative values for KeplerTranslation values (#2784)
- Update offline Mars map to fix 180 degree offset
- Correctly show the Apollo 17 insignia
- Prevent a crash from occurring when no shadow caster is provided or available
- Fix aspect ratio issue for RenderableVideoPlane (#2815)
- Fix issue where the in-game time is wrong when trying to start a profile with the time paused (#2826)
- Set the user position to be (0,0,0) which fixed the creation of Fisheye configurations (#2818)
- Fix fatal error when starting profile with navigation state camera setting
- Fix issue with the action to "Hide all constellation lines"
- Perform an update after creating a ScreenSpaceRenderable, causing images to be loaded immediately and provide error messages to the user (#2848)
- Transmit the GlobeName through the TileProviderByLevel, making it possible to MRF cache combined layers separately
- Don't explicitly specify data and index file names and not use the same name twice
- Fix rendering issues with debug spheres (#2849)
- Remove tile-padding to reduce stair-stepping issues in globe height layers at high resolutions (#2842)
- Fix faulty deinitialization in scene graph nodes that would cause nodes to be ignored (#2851)
- Make sure that the volume textures never gets smaller than 1x1 (#2852)
- Use correct error type in the GeoJSONComponent
- Correctly handle (0,0,0) camera vectors in the navigation subsystem
- Fix issue with non-ASCII characters when making identifiers
- Fix error with eclipse shadow cone flipping
- Use linear texture filtering on AMD until the crash can be fixed (#2843)
- Add selected Additional Scripts in the launcher by row-order, not the order in which they are selected (#2862)
- Nuke the cache folder when an inconsistent state in the cache is detected, rather than crashing (#2850)
- Fix crash when flying to NS with nonexisting anchor, and actually print error from path creation
- Resolve window config GUI edit meta problem (#2860)
- Add special handling for a number of properties in the DashboardItemPropertyValue (#2899)
- More explicit handling of zero duration paths (#2947)
- Prevent crash when using a joystick asset from a previous OpenSpace version (#2927)
- Fix a problem in which the up-direction was not being correctly computed in all cases (#2955)
- Keep track of aim from a navigation state when creating a camera path (#2981)
- Fix an issue where camera transition events would not be triggered when jumping to a scene graph node (#2949)
- Make the RenderableFOV and Missions more resilient to empty values being passed in the file
- Fix for crash when reading meta of corrupt config file (#2976)
- Fix an issue where the VideoPlayer was not correctly updated when writing out frames in SessionRecording
- Fix issue with overflowing color values for layers (closes #2880)
- Fix faulty colors when computing HSV from invalid RGB values
- Prevent point overflow when viewing the solar system position far in the future (#3021)
- Fix a rendering issue when creating a Planar Projection with incorrect FOV values
- Increase the timeout for the GDAL HTTP requests and updated url for loading gibs (#1250)
- Switch all getline reads to tolerate line endings of any operating system (#2754)
- Prevent crash when trying to load a cluster configuration when not being part of the cluster
- Correctly load triangular faces for OBJ meshes (#78)
- Don't crash when trying to remove a shader program without an OpenGL context
- Prevent mouse events from passing through mission timeline causing camera movements when interacting with other UI elements (#2893)
- Only select on keypress in the WebUI if the key was ENTER
- Prevent constant rerender of origin picker which caused performance bugs
- Fix an issue where nodes without a GUI tag would not show in the scene menu (#2174)
- Add a fix where the time display would break for times greater than 9999 (#181)
- Fix an issue where the first dashboard item would be rendered too high, making it possible to add single-item dashboards to the dome surface (#3067)
- Fix for an issue where the bounding sphere for a projection model was not calculated automatically (#2319)
- Fix the faulty computation of Sun position in atmosphere which used the Solar System Barycenter before (#3250)
- Fix an issue where out of range B-V values for stars would cause a star to get an unphysical color (#2404)
- Fix an issue that could cause a crash when adding a video plane at runtime (#3163)
- Correctly handle old ImGUI UI code when OpenSpace is compiled without GlobeBrowsing support (#3266)
- Force recompilation of the RenderableGlobe shader when moving layers which caused errors when showing solid color layers (#3295)
- Fixed a crash that could occur when accessing a layer name after it has been deleted (#3283)
- Fix a bug where a non-interpolating TimelineRotation would disappear before the first keyframe (#3310)
- Fix issue that would cause the ESRI layer to not be loaded correctly around the south pole by correctly specify its size (#2968)
- Fix so that objects are only disabled on fade 0 if the checkbox was actually clicked (#2873)
- Fix the LuaScale, LuaTranslation, and LuaRotation classes as they were broken
- Fix crash that would occur when trying to unload an asset that requires a root asset
Scientific Software - Peer-reviewed
- C++
Published by alexanderbock over 1 year ago
OpenSpace - releases/v0.19.2
Content
- Use the local image layer for Europa by default
- Add the ability to specify a custom shader for the RenderableGalaxy class
Bugfixes
- Temporarily fix disappearing tiles on globe surfaces by disabling frustum culling
- Fix naming mixup between umbral and penumbral shadow
- Fixed an issue with the atmosphere shader code on Mac platforms
Scientific Software - Peer-reviewed
- C++
Published by alexanderbock about 2 years ago
OpenSpace - 0.11.0
Content
- Enabled atmospheric scattering around planets
- Added Digital universe datasets (https://www.amnh.org/our-research/hayden-planetarium/digital-universe)
- Mars
- Added WMS server for color map
- Added WMS server for MOLA hillshade
- Added Phobos and Deimos
- Earth
- Added new ERSI high resolution dataset
- Added scene for Voyager 1 and Voyager 2
- Added minor moons for Jupiter, Saturn, Neptune, Uranus
Features
- Rendering methods
- Added ability to provide rendering to Spout clients (spout.zeal.co)
- Added configuration file for Spout cube output for use in Worldviewer (https://www.elumenati.com/product/worldviewer/)
- Added projection method for Spherical mirrors (paulbourke.net/dome)
- User Interface
- Added on-screen information about friction status
- Added automatic fading of objects based on distance
- Improved informational text telling the user that a shutdown is imminent
- Added TUIO touch interface implementation (https://www.tuio.org)
- Added MacBook touch bar items for opening GUI and focussing on objects
- Improved tooltip handling
- Only show tooltips after one second of hovering
- Added ability to disable tooltips
- Enabled the manual sorting of items in the user interface
- Added simplified GUI mode and shifted GUI activation keys (F1 -> F3 and F2 is new simplified GUI)
- Content
- Improved the behavior of billboard sizes by limiting minimum/maximum size
- Added Loadingscreen to appear while a scene is loading
- Added implementation to allow scenes to load multithreaded
- Added Rotation method that stays fixed to a specified body
- Added transformation objects that evaluate Lua scripts for rapid prototyping
- Enabled multiple directories for image sequences like New Horizons and Rosetta
- Scenes
- Changed data layout by splitting old data/scene folder into data/asset and sync folders, thus separating the scene specification and the downloaded data
- Added ability to execute global initialization scripts
- Moved VRT specification into separate customization asset
- Cleanup of Earth, Moon, and Mars WMS configuration files
- Other
- Made OpenSpace an AppBundle on MacOS
- Set default number of antialiasing samples to 4
- Cleanup of logging behavior
- Added GIT commit hash output in log
Bugfixes
- Changed the default length of Uranus to prevent SPICE errors that would case Uranus' trail to query positions before 1850
- Fixed bug that prevented separate GUI window from working
- Added support for multiple ImGUI contexts used for multiple windows
- Prevent crash from happening when too many texture units are requested
- Fix Rosetta scene and rendering on MacOS
- First steps towards making OpenSpaceEngine resilient against missing SGCT configuration errors
API
- Added ability to query the current binding of keys
- Added ability to change the range of the delta time slider
- Added ability to specify exponents for all numeric sliders
- Added function to unload Mission file
- Renaming path tokens
${BASE_PATH}->${BASE}${OPENSPACE_DATA}->${DATA}- New token
${WEB}
- Redesigned on-screen text information to be more flexible
Scientific Software - Peer-reviewed
- C++
Published by alexanderbock about 2 years ago
OpenSpace - 0.11.1
- Changed default timeout to WMS servers from 5 minutes to 3 seconds, fixing a timeout wait on startup
- Fixed hanging torrent download issue
- Bugfixes and performance improvement for atmosphere rendering
- Stability fixes with regard to caching
- Updated H2 regions to a new dataset
- Added spherical grids to Digital Universe dataset
- Improve the texture quality by using Linear Mipmapping on default
- Automatically compute a reasonable aspect ratio for custom window sizes
- Fix issue with commandline arguments not being parsed
- Fixed rendering issue where the stars would not show up if they are the only Digital Universe object included in the scene
Scientific Software - Peer-reviewed
- C++
Published by alexanderbock about 2 years ago
OpenSpace - 0.12.0
Features
- A pre-build binary for MacOS is included in the download section of the webpage
- Added support for using joysticks and gamepads as input devices. The
data/assets/util/default_joystick.assetcontrols the handling of connected joysticks - Bittorrent-based file synchronization has been completely removed in favor of HTTP-based synchronization. This change will fix the majority of issues that users had while synchronizing data in a firewalled environment
- The
default.scenewill now by default start at "yesterday"s date and show the as-of-yet incomplete VIIRS image for "today" if the user jumps to "today" - The startup and shutdown times of the application has been overall lowered
- Potentially breaking change: The layout of the central
openspace.cfghas been changed and users must adapt their old, modified variants for this release. Mitigation consists of removing thereturn {and single}at the top and bottom of the file respectively - Added a mechanism to pass commandline arguments to OpenSpace that modify the loaded
openspace.cfgto enable the setting of start-up scenes, SGCT configuration files and others from the commandline for clustered environments - When
PRINT_SCREENis creating a screenshot, it is now placed in thescreenshots/{current date}/folder, rather than thebinfolder as it was before - The default horizontal field-of-view has been changed to 80 degrees, which can be overwritten in the
openspace.cfgfile by the user by modifying thesgct.config.singleparameters as described in thescripts/configuration_helper.luafile - When running OpenSpace in a windowed setup, manually changing the size of the window will now automatically adapt the aspect ratio that is used for the rendering
- Added an inituial ability to automatically create focus markers on planets based on available
.infofiles by editing thedata/assets/customization/globebrowsing.assetfile and changingCreateFocusNodestotrue - Added the ability to use a single-file HTTP-based synchronization from third party locations. Examples of this are in the
data/assets/examples/urlsynchronization.asset - It is now possible to zoom by using the left mouse button and pressing the Alt key in addition to using the right mouse button to support MacOS touch pads
- Made it possible to click on the friction markers in the image to toggle the individual friction modes in addition to using the
F,Shift+F, andCtrl+Fkeyboard shortcuts- The
Global Properties -> Dashboardnow has a single property that will toggle its visibililty on screen
- The
- Potentially breaking change: The names of properties in the scene tree is now simplified and users must adapt their custom scripts to add a
Scene.prefix to properties that change attributes of objects in the scene graph. - Added support for stb_image-based texture reader on non-Windows platforms
Content
- Added asset for the Messenger mission
- Added Pluto to the default scene
- Added Scaling node to all planets
Bugfixes
- Make the minimum skirt length of globes depenent on its radius to support small globes, such as moons of Mars, Jupiter, and Saturn
- Fix bug preventing Saturn's rings from rendering
- Fix bug causing Kepler-based translation to use a wrong value for the semi-major axis
Scientific Software - Peer-reviewed
- C++
Published by alexanderbock about 2 years ago
OpenSpace - 0.13.0
Features
- New CEF-based user interface (currently only on Windows)
- Added shortcuts menu to execute Lua scripts without needing to be bound to keyboard keys
- Updated GDAL to 2.3.2
- Show percentages and progress for sync downloads
- Added abililty to interpolate time for smoother time jumping
- Ability to filter scene graph objects based on time
- Additional lighting options for model rendering
- Render on-screen text informing the user of ongoing application shutdown
- Added ability to disable the console key for kiosk mode
- Improved the tracking of the touch interface and made it easier to open the menu in a touch environment
- Enable Spout texture sharing on default on Windows
- Added Lua functions to print cluster id
- Added configuration file that supportes spherical mirror configuration
Content
- Add a default path (
OpenSpace/../OpenSpaceData) to search for planetary patches - Add a proper radiosphere that grows in real time
- Add Hyperion and Mimas to Saturn's major moons
- Enable the ability to not load an asset on default and later load it at runtime
- Added simple example for a slide deck state machine
- Added new dashboard item that shows the camera's current velocity
- Add a new scale that changes its value based on the current time, reference time, and speed
- Add a rotation that provides a static rotation based on in-game time
- Simplify specification of opacity for text labels
- Converted all images from using pbm format to png format for better compatibility
- Add non-SI units to the distance conversion
Bugfixes
- Fixed bug causing incorrect aspect ratio for manually specified window sizes
- Fix bug preventing specification of easing functions for property setting
- Fixed focus node creation for local surface patches
- Workaround for MacOS Mojave 10.14 where the rendering would only show up after the window has been moved
Optimizations
- Major improvement of planetary rendering performance
- Improvements of atmosphere rendering performance
- Improved application startup time
- Better reuse of shader objects to reduce memory footprint
- Better reuse of textures to reduce memory footprint
- Better reuse of vertex buffer objects for Digital Universe dataset to reduce memory footprint
- Improved rendering times by reusing uniform locations
Scientific Software - Peer-reviewed
- C++
Published by alexanderbock about 2 years ago
OpenSpace - 0.14.0
Breaking changes
- Renamed property owner identifier from renderable to Renderable. For instance, the property
Scene.EarthTrail.renderable.Enabledis now calledScene.EarthTrail.Renderable.Enabled, and likewise for all other items in the scene graph
Features
- Added session recording feature
> This feature enables the recording of camera movements and user interface interactions. When playing a recording back later, all camera movements and state changes are occurring at the same times when they did during the initial recording. The recording will start at the same in-game time and speed in which OpenSpace was when the recording was done. Recordings can be shared between computers as long as they are played back on the same scene or otherwise strange behavior might occur. There is a user interface to control the recording and there are Lua scripts available to start and stop the recording and playback
openspace.sessionRecording.startPlayback(),openspace.sessionRecording.stopPlayback(),openspace.sessionRecording.startRecording(<filename>),openspace.sessionRecording.stopRecording(), and others - Added support for the new web-based user interface based on Chromium Embedded Framework for MacOS
- Added a new rendering methods for rendering star catalogues that improves the visual quality and provides future support for point-spread function based rendering methods. Additionally, it adds the capability to inspect other data values that are available in SPECK files and map these to colors
- Added an Anchor&Aim feature that enhances the previous Focus Node concept. While it is still possible to focus the camera on a single object as before and have all camera movements occur relative to that object, it is not possible to aim at a second object which then stays fixed on the screen
- Added the ability to change the field of view for the main rendering window at run-time. Please be aware that this feature might have unintended consequences if multiple rendering windows with different field of views are shown on the same computer
- Added an indicator showing the number of enabled layers for a globe and prevent the user from enabling too many layers simultaneously. If too many layers are enabled, the last layer will be automatically disabled
- Added the ability to rescale Web UI during run-time
- Added the ability to position screen space objects in 3D space so that they are culled correctly. Also added a more intuitive positioning method useful for flat screen displays as well as planetariums
- Added a heuristic that sometimes filters out ESRI's "No data available yet" tiles and uses available lower resoltion tiles instead. This does not seem to work in all cases, and when it does not work, the "No data available yet" tile will show up as before
- Added the support for temporarily modifying mouse sensitivity when zooming. The
Zkey will increase the mouse sensitivity while it is pressed down by a factor of 8, theXkey will decrease the mouse sensitivity while it is pressed down by a factor of 2 - Added shortcut to disable rendering on master node (Alt+R)
- Introduced global and master rotation that modify the location of screen space items
- Added a feature that will check for a new released version at program start and provide information to the user in the lower right part of the screen and it will also enter a line into the log file
- Added more statistics for the dashboard framerate items showing the extremes, standard deviation, etc
UI Improvements
- Added a panel for controlling the new session recording feature
> To record a playback feature, you enter a filename and hit the
Recordbutton. If you want to edit the recording afterwards, enable theText file format. The recording is stored in therecordingdirectory by default, which can be changed in theopenspace.cfg. To play back a recording either select it in the dropdown menu or enter the name of the recording file in the text file and pressPlay- Easy access settings panel for Renderables.
> Each scene graph node in the
Scenemenu now has a wrench icon next to it which will cause a panel for that scene graph node to pop out and be separately available until it is closed by the user. Additionally, the top of theScenemenu now always contains the settings for the current focus node. If this element is popped out, it will dynamically update if the current focus node changes - Quick Enable feature for Renderables and Globe layers. All renderable objects and layers on globes now have a checkbox with which the object can be quickly enabled or disabled without needing to open the submenu
- Visual indicator for enabled globe layers. If a globe layer is enabled, its text will be rendered in green; if it is not enabled, the text is white
- Sorting of Elements. All elements in the UI are now correctly sorted; either by adhering to the GUI sorting as specified in an asset file, or sorting the planets by the their distance from the Sun
- Improved scene menu search to make it possible to better search for objects that contain multiple words
- Scene pane saves state between uses. When closing the
Scenemenu, the state of the tree will now be saved and not be closed when the menu is brought up again - Improved display of scene shortcuts. The list of available shortcuts are not presented in a more cohesive way to make them easier to access
- Visual improvement of fonts rendering.
- Easy access settings panel for Renderables.
> Each scene graph node in the
API
- Updated GDAL version to 2.4.1
- Finding configuration file now starts from the
binfolder and continues upwards, rather than the current working directory as before - Add
asset.filePathto asset API which contains the full path to the currently evaluated asset, enabling more useful error messages - Added the ability to query the OpenSpace documentation via the networking API
- Added the ability to pass arguments to Lua scripts via JSON through the networking API
- Added the ability to transport return values from Lua scripts back to the networking API clients
- Added the ability to remove scenegraph nodes based on regular expressions
Content
- Added a new WMS layer for Mars containing >500 local HiRISE patches, served by ESRI
- Added a new scene showing the trajectory of Apollo 8, and adding many new features to the various Apollo landing sites
- Added a new scene containing the Insight lander. The scene contains a model of the lander, its trajectory during entry into the Marsian atmosphere and the eventual landing. The model changes throughout the different phases of the landing by showing, for example, the separation of the heat shield and the deployment of the parachute
- Added new feature to show planetary surface labels. Every major object in the Solar System, except for Earth, now has planetary labels that can be shown interactively. The labels are taken from the database of USGS
- Added a scene showing the Gaia mission using a new and experimental multiscale renderer. The dataset that is automatically synchronized at startup only contains a few million stars for which the radial velocity is available.
- Added grids for showing light days, light months, light years, and more. These grids can be used to show the increasing scale when leaving the solar system
- Added the trails of the Pioneer 11 and 12 missions as they were leaving the solar system
- Added new SPICE kernels to the Juno scene to complete its coverage
- Added Apogee and Galah gaia subsets rendered with the new star rendering method, howing the metal abundances in a subset of stars close to the Sun
- Small fixes to the Messenger scene
- Added WMS layer for Enceladus, Titan, and Europa
- Added a spherical grid representing the Oort cloud
Content Creation
- Introducing a new base asset/scene that should not be directly loaded, but that can serve as a base for all other scenes. This scene sets up default keybindings, loads the common content of the solar system and the digital universe, loads the Web UI, and configures globe browsing customizations
- Added the ability to create custom focus nodes on planetary surfaces from Lua that can serve as a focus node for specific surface positions, such as Mars HiRISE patches, landing locations on the Moon, and others
- Added a new Translation lcass that uses longitude/latitude information to position an object on a globe
- Added Lua function to query property identifiers
- Added example assets for some components
Bugfixes
- Fixed issue in which scene graph transformations were applied in the wrong order leading to strange results
- Fix for a bug where the resolution of the globe layers would decrease when enabling a layer on some graphic cards
- Fixed an issue where the loading screen would not show percentages when downloading files
- Fixed an issue where the time notifier in the UI is not updated if the scene is paused
- Fix for a bug where temporal WMS datasets would not be cached correctly
- Fix a bug where the
Hkey would not correctly show the trails again after hiding them - Correctly sort scene items in the Web UI
- Fixed issues preventing multiple properties from being set simultaneously from a Lua script
- Fix for bug where the global black-out would not work correctly
- Only show screenspace renderables on non-UI windows
Optimizations
- Increased rendering speed of Web UI
- Slightly improved the rendering speed of globerendering
- Slightly improved the rendering speed of the stars
Scientific Software - Peer-reviewed
- C++
Published by alexanderbock about 2 years ago
OpenSpace - 0.14.1
Features
- Turn fade-in value into a property and move away from dedicated fadeIn, fadeOut methods
- Consolidated all documentation files into a single file
Content
- Add multiple CMB spheres to show multiverses
- Added optional keybinds CTRL+I, CTRL+K, CTRL+O, and CTRL+L for situations where the keypad is not available
- Added optional F12 keybind to create a screenshot if the PRINT_SCREEN button is not available
- Added apollo 11 CSM orbits and mock LEM decent to the apollo_sites scene
- Warn if keybinds are defined twice
- Updated Apollo sites to new LEM model based on photogrammetry
- Updated fixed Pioneer model
- Updated the rosetta images to only download a single zip file that gets extracted
Bugfixes
- Add Shift+A keybind for New Horizons scene to set the Aim+Anchor method, restoring the A keybind to the previous usage
- Read DefaultAccess parameter from the configuration file correctly
- Fixed bug where the field-of-view settings on dome image generators would be broken
- Fix a warning if interpolating a value using the setPropertyValueSingle Lua method
- Various fixes in the New Horizons scene to make it operable
- Various fixes for the Rosetta scene
- Fixed keyboard shortcurts in OsirisRex scene
- Rebound the Philae trail visibility from F to G so that it is not on the same key as the friction
- Disable the Rosetta image plane on default
- Automatically remove old delta time keybindings when new ones are set in order to prevent double-binding
- Cleanup of Apollo scene shortcuts
- Fixing Apollo 8 and flipbook shortcuts
- Updated number of samples for configs to make gui work on MacOS
- Fixed bug where the UI would not show up if the computer is not connected to the internet
Scientific Software - Peer-reviewed
- C++
Published by alexanderbock about 2 years ago
OpenSpace - 0.15.0
Features
- Added a partially linearized rendering pipeline that enables support for High Dynamic Range objects. This feature also adds support for changing the exposure of the virtual camera, enable tweaking of saturation, hue, and brightness of the overall image
- Added a new, preliminary, profile creator to easily select which assets are included and save these as
.scenefiles - Added a preliminary feature to perform offline rendering, which has to be enabled through the Lua interface as of now. When calling
openspace.sessionRecording.enableTakeScreenShotDuringPlayback(framerate), the next playback of a session recording will create a PNG file for each frame while playing back the session recording at the selected framerate - Added a new feature that enables the control of the camera through a WebSocket API.
- Added a new rendering method that enables a more efficient rendering of satellite trails
- Added the ability for the user to specify the location of the temporary folder, which now defaults to the OpenSpace/temp folder, rather than a global operating system specific folder that is used between multiple applications
UI Improvements
- Added a new user interface to add online screen space images
- Added support for multiple endpoints in the WebGUI
- Allow the user to abort the loading screen through the ESC key
API
- Replaced old setCameraState with new function setNavigationState that works more consistently when in orbit around a planet
- Added support for arrays in LuaScript topics
- Exposed the GlobeTranslation properties correctly
Content
- Added a volumetric representation of the milky way
- Added asset for the Apollo 11 descent
- Added asset for the Swift-Tuttle comet
- Added asset files for the Tesla roadster and Oumuamua interstellar objects
- Fixed issue where the wrong identifier was used for requested the model data for Vesta
- Add option to show information about the current frame and synchronization status in a HUD rendering
- Added documentation and verification for the creation of globe browsing layers to detect missing or wrong keys
- Added a new default configuration that contains a Fisheye rendering window and a GUI window
- Removed the F4 performance measurement keys from the
base.asset. The performance window is still available through the old UI (F1)
Content Creation
- Added a new TimelineTranslation that interpolates between different Translations based on the in-game time
- Added a new TimelineRotation that interpolates between different Rotations based on the in-game time
Bugfixes
- Fixed a bug where a joystick/gamepad would become unresponsive when changing the sensitivity
- Fixed issue where the DashboardItem displaying the location on a globe would display negative altitudes correctly
- Improved issues with the usability of the touchbar on MacBooks
- Fix issue with uint32-limited tilecache size in bytes restricting larger caches
- Fixed problem with zoom restrictions at min/max zoom levels when using the touch interface
- Added fix to prevent starting a session recording/playback if another is already in progress.
- Fixed problem where the atmosphere stereo separation was not correctly computed
- Added a check to prevent sync buffer overflows when sending enormous Lua scripts >4KiB
- Fixed a scaling issue with the screen space images
- Fixed crash when requesting a local screen space image whose file did not exist
- Fixed an issue where the download size of files >2GiB was not displayed correctly
- Fixed an issue that prevented the WebGUI from starting on MacOS
- Fixed an issue where the camera would jump a small bit when refocussing close to a planetary surface
- Fixed a crash that would occur when trying to read two-line element files whose file on disk would not exist
- Fixed an issue that would prevent runtime removal of more than one asset file
- Fixed an issue where the wireframe sphere would not be rendered correctly when an uneven number of vertices was selected
- Fixed an issue with the commandline parsing that would cause the application to hang indefinitely
- Fixed an issue where the normal in camera space was not set for local globe browsing patches
- Fixed a problem where the ephemeris information of Pluto expired on 2019-03-01
- Fixed a problem in which the PerformanceManager would crash when enabled by the user
Optimizations
- Replaced Multisampling Antialiasing (MSAA) for a faster Fast Approximate Antialiasing (FXAA) which improves performance and reduced the graphics memory footprint of the application
- Drastically improved the performance and timing consistency of the Globebrowsing image loading
- Used the more optimal
setPropertyValueSingleinstead ofsetPropertyValueLua function in thepropertyHelper.invertfunctions, which no longer causes unnecessary RegExp to be compiled
Scientific Software - Peer-reviewed
- C++
Published by alexanderbock about 2 years ago
OpenSpace - 0.15.1
Features
- Added a new rendering feature that uses the rings of saturn to create shadows onto Saturn and vice versa
- Added a new rendering method for anti-aliased trails that improve their visual look at feel
- Improve the handling of touch input on Windows systems that no longer requires started a separate TUIO server. This also improves the handling of the touch input.
- Improved the automatic generation of unique names for screen space renderables
- Added a bookmarks file that will automatically create scene graph nodes to be able to focus on interesting locations
- Added a new property that makes it possible to disable all mouse input
API
- Fixed retrieval of navigation state from the
openspace.navigation.getNavigationStatefunction and make this function usable again - Added a script that enables to directly add a layder from GIBS
openspace.globebrowsing.addGibsLayer - Updated GLM version to 0.9.9.6
- Replaced Google Test framework with Catch2
- Added basic functionality for Tracy profiler
- Added CMake options to build targeting an AVX, AVX2, or AVX512 processor architecture
Content
- Added ISS asset to the default scene
- Added asset for C2019 Q4 "Borisov" interstellar object
- Added over 2,000 identified Potentially Hazardous Asteroids (PHAs) from JPL Horizons
- Added a WMS server for the Venus Magellan dataset
- Added alpha channel to Kaguya layer
- Added an atmosphere to Venus
- Added the ability to display procedurally generated text labels and added labels for planetary bodies in the solar system. The default binding to toggle their visibility is
L - Added the ability to fade satellite trails
- Added a feature to render stars with a fixed color to make interoperability with Glue easier
- Fixes spelling of layer name for Sea Ice concentration
- Fixed the milky way by using a static translation to offset it, rather than doing it in the shader code
- Added missingSun marker in the Osiris-REx scene
Content Creation
- Added a new scene graph node type that renders a line between two scene graph nodes
- Added a new scene graph node type that shows the distance between two scene graph nodes
Bugfixes
- Fixed a rendering error in which the stars would be cut between viewports when rendering OpenSpace using a fisheye configuration
- Fixed a bug where the application would crash when changing the segments property
- Fixed a bug that prevents the removal of globebrowsing layers
- Fixed a bug that made the atmosphere disappear when night or water layers weren't active
- Fixed a bug that would cause temporal tile layers to be out of sync by a day
- No longer assume that the GuiName for a DashboardItem is provided
- Fixed a bug with the Dawn scene
- Fixed duplicate keybinds in the rosetta scene
- Fixed issue with the Mercury magnetosphere
- Added a fix where it was not possible to use a group name in the
getPropertyLua function - Fixed bug in which OpenSpace would crash when an asset includes itself
- Fixed error when loading some Linux-generated speck files on Windows
- Fixed an issue to make OpenSpace work on CentOS with an older curl version
- Fix a bug where the debug mode would not work because the website URL was empty
Optimizations
- Tweaked the message pumping of CEF to improve the UI responsiveness on Windows
- Improved the loading time of the galaxy dataset by caching the star points using a binary file format
- Drastically improved the rendering speed of the milky way volume by adaptively downscaling the rendering resolution
- Improved the rendering performance of the billboard clouds used for galaxy points
Scientific Software - Peer-reviewed
- C++
Published by alexanderbock about 2 years ago
OpenSpace - 0.15.2
Features
- Added new meta information to the assets that is automatically collected into the documentation/index.html to provide direct information about the license state of the current scene
- Added a new version of SGCT that should improve performance and future extensibility
- Added support for cylindrical and equirectangular output methods
- Added a feature for touch interface to enable a continous pinch gesture to continue to zoom in without the need to repeat the pinch gesture
- Added the ability to change the line width of wire-type meshes (#1153)
- Added the ability to invert mouse buttons (#697)
- Added the ability for a vertical offset for a screen log
- Added a property for line width to the constellation bounds (#1214)
Content
- Added a model and the trajectory of the Mars 2020 Perseverance rover
- Added a new, fully-textured model of the International Space Station
- Added new asteroids datasets from JPL Horizons (#1123) -- see asteroids content page for categories included
- Replaced the L4 G1SST sea surface temperature with the GHRSST L4 MUR as it is a wider coverage (#1204)
- Added new constellation images (thanks to James Hedberg)
- Added the C/2019 Y4 (ATLAS) comet (thanks to Dan Tell)
- Added time range to Voyager rotations to make that scene more useful
- Fixed spelling errors with Uranus label and the CTX surface layer
Content Creation
- Added the ability to load images for planes lazily
- Added suport for non-uniform static scaling of objects (#1151)
- Added a new renderable that shows customizable distance labels between scene graph nodes
API
- The
openspace.sessionRecording.enableTakeScreenShotDuringPlaybackfunction now has a default framerate of 60 (#1134) - Added support for the Tracy profiling library to debug performance issues
- Added more meaningful error messages to the
openspace.globebrowsing.addBlendingLayersFromDirectoryif the parameters are missing (#1101)
Bugfixes
- Fixed issue with time quantization for temporal globe browsing layers that could cause the displayed image to be off by 1 day (#1092)
- Added fixes to enforce a 0-360 angle range on incoming data from JPL Horizons
- Various fixes to make the touch interface more reliable on Windows
- Compilation fixes for Clang on Linux
- Removed the highlight created by the operating system when using touch on Windows
- Better handling of touch interaction for the native ImGUI user interface
- Removed warnings that occurred when disabling all night layers on Earth (#1136)
- Added fix for leap year in the calculation of the satellite orbits
- Fixed a bug where the static rotation was not updated when changing the Euler rotation angles
- Fixed an issue with rendering the renderable grid
- Fixed issue that made it difficult to view the cosmic microwave background radiation image from Earth
- Improved the performance of the Borisov trajectory rendering
- Fixed the positioning of the Apollo 8 trail around the moon
- Fixed an error with the orientation of the Digital Universe deep-sky objects
- Fixed a rendering issue that made the grids flicker
Scientific Software - Peer-reviewed
- C++
Published by alexanderbock about 2 years ago
OpenSpace - 0.16.0
Features
- Add new 'Profiles' feature that replaces the
*.scenefiles with a more descriptive format that enables editing with a graphical user interface- Added a more rigorous way to specify the delta times in a profile (#1285)
- Added new user interface for editing Profiles and selecting which profile and configuration to use at startup
- User interface improvements
- Added new user interface for adding Exoplanets (#1304)
- Added new user interface panel to remote control an OpenSpace instance. This panel is only shown when connecting to a running OpenSpace instance via an external browser by going to localhost:4680
- Added a button to the user interface to step between delta times from the Date/Time panel
- Added information icons to the user interface that show the information stored in the Meta field of the assets
- Large performance improvements across the software (loading time and rendering) (#1270, #1271)
- Horizon translation files are now cached between starts of OpenSpace, improving the startup time (#1185)
- Fixed the code so that it can be compiled and run on MacOS again
- Added the ability to step between delta time steps using the arrow keys (#1174)
- Automatically bind the negative delta time key by using the "ALT" key. For example if "Shift+5" is mapped to a delta time of
30, "Alt+Shift+5" will automatically be bound to-30. - Added a new field to assets and profiles that contains meta information about the asset, such as license information, author information, and additional description
- Added the ability to change the focus node without resetting the cameras velocity (#1276)
- Session recording improvements
- Added the ability to have # deliminated comment lines in the session recording file for use in scripting
- Introduced a breaking change by changing the binary folder of the session recording from using a 64bit script length to a 32bit script length. All session recordings will automatically be converted without the need for user action. The converted session recording file will be stored in the
recordingsfolder - Added
osrecandosrectxtextension to session recordings - Provided a Task that converts text-based session recordings to binary and vice versa
- Added a property in the RenderEngine to be able to soft-cap the framerate without restarting OpenSpace
- Added an alternative location for the sync folder to the openspace.cfg file that tries to find a
OPENSPACE_SYNCenvironment variable. If such a variable is set, it is used for the location of the sync folder, making it easier to reuse sync folders between OpenSpace installations - Added a new Native-GUI (ImGui) component to load planetary labels from NASA GIBS
- Added a property that disables joystick input to prevent erratic input on startup (#1370)
- Added the ability to skip a range of screenshots when rendering out a long sequence
- Added the ability to vertically offset the screenlog so that it is not covered by the user interface
- Added the ability to change the screenshot folder at runtime (#1172)
- Enabled OpenGL debug context by default for now to prevent large frame stuttering until a more permanent solution is implemented
- Added a notification when OpenSpace is compiled with Tracy support (#1189)
- Updated the CFITSIO library
- Updated the GLFW library
Content
- Added a method for dynamically adding all known Exoplanets to the scene (#919, #1303)
- Split up all provided globebrowsing layers into individual assets such that they can be loaded/ignored by a Profile UI (#1259)
- Added a polygonal model of the Orion Nebula
- Added the C/2019 Y4 comet to the astroids scene (#1201)
- Added trimmed-down version of the Voyager/Pioneer trails that omit the models
- Updated James Hedberg's constellation images (#1263)
- Added shadowing of Jupiter's main moons onto Jupiter (#1426)
- Removed the multiple lookback perspective viewpoint CMB representations out of the
cmb.assetand into their own asset file which no longer gets included by default in thebase.asset - Updated the keys for the slide deck example from Left/Right/Up to KP4/KP6/KP_0 to not collide with the new delta time keys (#1320)
- Added missing tags to the Pluto system (#1319)
- Removed the "L4 G1SST" Earth layer with the "GHRSST L4 MUR Sea Surface temperature" (#1204)
- Added an explicit
digitaluniverse.assetfile that is used in thebase.assetinstead of the previousrequireAllfunction call (#1398)
Content Creation
- Removed the
asset.requestin favor of only usingasset.require(#1280) - Unify the usage of the color + transparency/opacity for all renderables (#1196)
- Added a new radial grid in addition to the rectangular that already existed (#733)
- Added the ability to use linear interpolation in a color map for the RenderableBillboards
- Added a new function to procedurally create a grid without needing to create a SPECK file first (#733)
- Added the ability to render out the current recording time during a session recording
- Added a
BoundingSphereparameter to SceneGraphNodes to manually specify a bounding sphere radius for objects that can't compute one automatically (#1238) - Made the
LabelTextinRenderableLabelsoptional (#1237) - Added the ability to toggle planets in the
customization/globebrowsing.asset(#1392)
Bugfixes
- Fixed issue where the normals of the ISS would look wrong in Fisheye rendering
- Corrected the orientation of the digital universe's radiosphere (#1223)
- Fixed issue where the trails would not show up properly when intersecting an atmosphere (#1217)
- Fixed issue where the eclipse shadow would not scale when the shadowing body is enlarged (#1160)
- Fixed issue that would prevent Earth from rendering with multiple Night-side layers (#1323)
- Fixed an issue that would cause flickering of planetary atmospheres when the milky way sphere was disabled (#1360)
- Fixed an issue where the camera would become invalid when selecting a linear flight distance of 0 (#1329)
- Fixed error with capitalization of maps on Mercury that prevented them to be loaded on operating systems that care about capitalization (#1260, thanks John Riedel)
- Fixed the wrong printing of error messages when loading a completely fine astroid dataset
- Fixed an issue in curved-scree nrendering where the DigitalUniverse representations would change size when moving to the corner of a projector (#1354)
- Corrected the size of Phobos and Daimos
- Fixed an issue where the speed of the linear flight was not taking the framerate into account (#1369)
- Fixed flood of warnings when trying to enable accurate normals for planetary surfaces without a heightmap (#1421)
- Fixed the name of Kerberos' trail
- Fixed a crash when setting the point-spread function texture for stars to a file that didn't exist (#1222)
- Fixed a bug that caused the highest resolution map layer on planetary bodies to be ignored
- Fixed bug that prevented labels from appearing (#1278)
- Various fixes to make OpenSpace compile and run in Linux-based operating systems
- The ISS is not correctly cleaning up after itself (#1318)
- Fix issues with the SPOUT transmission of the rendered image
- Fixed issue that would lead to the wrong height being used in the LuaConsole (#1375)
- Fixed a warning that would appear when trying to switch to a non existing slide deck image with 0 interpolation time (#936)
- Fixed issue where the extension of screenshots would be missing in some cases
- Fixed UI bug where it would show -1sec/sec as "Realtime"
- Fixed issue where OpenSpace would warn about an empty folder when loading the
customization/globebrowsing.asset - Fixed issue where the 'swiftshader' folder in the bin folder would appear recursively
Breaking Changes
- The previous loading of
*.scenefiles is no longer officially supported. The suggested mitigation is to recreate the scene files using the new Profile editor or manually converting the.scenefiles into.profilefiles. For logic that was previously performed in a scene file, we recommend either (a) adding a new.assetfile with that logic as the last asset in the profile or (b) provide that logic in the Additional Scripts section of the Profile. Please note that the delta time keys are no longer bound manually in the file, but should be specified in their Delta Times section of the Profile instead. That will cause them to be bound to the expected number keys also also bind the negative version to the ALT key. For example if "Shift+5" is mapped to a delta time of30, "Alt+Shift+5" will automatically be bound to-30. - The handling of colors in the asset files and scripts has significantly changed. Where previously some assets would use an (RGBA) 4-vector to combine the opacity and the color, this is now separated. All colors are only specified using an (RGB) tuple and an additional
Opacityvalue that specifies the opacity of the object. Additionally, all instances ofTransparencywere converted toOpacity. Additionally, theScreenSpaceRenderableclasses were using "alpha", which has also been renamed to "opacity" - The
asset.requestfunction was removed in favor ofasset.require. All use cases ofasset.requestcan be achieved by callingasset.requireinstead - Joystick input has been disabled by default and needs to be reenabled through a property in the NavigationHandler, if so desired. The unexpected input of non-calibrated joysticks was jarring for a number of users and we feel that the default behavior should be to ignore joystick inputs
New Software
The team has been working hard on providing a tool to start OpenSpace in distributed environments where it might be cumbersome to start OpenSpace (or any other application) manually on each computer. See the C-Troll application (https://github.com/c-toolbox/c-troll) for more information.
Scientific Software - Peer-reviewed
- C++
Published by alexanderbock about 2 years ago
OpenSpace - 0.16.1
Features
- Added Drag and Drop support for images and assets (#1497)
Content
- Added USGS WMS layers for Phobos and Deimos
Content Creation
- Added missing documentation for RenderableOrbitDisc
- Added the ability to use single radius for SizeReferenceTileProvider (#1562)
- Fixed an issue with the example asset for spheres
Bugfixes
- Fixed the keybinding-related loading error in the newhorizons and mars profiles
- Fixed an issue that would add too many delta time step keybindings (#1445)
- Fixed a crash that could occur when trying to reload the in-game browser twice in quick succession
- Fixed an issue where the joystick input was completely ignored in the deadzone and cause erratic behavior (#678)
- Fixed an issue where the milkyway sphere would not fade out correctly
- Fixed an issue where the labels of the grids would not be aligned correctly towards the camera (#1542)
- Fixed problems that prevented the 'guiprojector.xml' and 'sphericalmirror.xml' from working
- Fixed an issue that prevented the ESRI Local Set DEM from showing up
- Prevent the change of renderbins for overlay renderables, causing incorrect behavior for transparency (#1519)
- Fixed issues with the Pioneer model and updated identifiers to allow SPICE and Horizons versions to coexist (thanks Dan Tell)
- Fixed an issue where the slide deck functionality was no longer working (#1441)
- Fixed an issue where the Deep Sky Objects were scaled incorrectly by a factor of 1e6 (#1452)
- Fixed a bug that prevented the correct showing of color properties
- Fixed an accidental commit in the globebrowsing customization asset
- Fixed a bug that caused the item velocity dashboard item numbers not to show correctly
- Prevent a crash when reloading a renderable that only has a label, but not data
- Prevent a crash when trying to query the renderable of scenegraph nodes that don't exist
- Don't produce OpenGL performance warnings on Intel chips, leading to noisy logs
Scientific Software - Peer-reviewed
- C++
Published by alexanderbock about 2 years ago
OpenSpace - 0.19.1
Features
- Add the ability to show a border around ScreenSpaceRenderables
- Add a trigger property to delete a GeoJSON component
- Added the option to disable roll and zoom for during interaction (#2866)
- Add the ability to specify the angular size of the Sun in the atmosphere
- Add the ability to fade in and out RenderableFieldLinesSequences
Launcher
- Update example in openspace.cfg to use correct
posinstead ofwindowPos
User interface
- Prevent checkbox from shrinking for profiles with long name (#2804)
- Fix issue where user interface icons would not show up when starting OpenSpace without an internet connection (#2794)
- Fix issue so that objects are only disblaed on fade to 0 if the checkbox was actually clicked (#2873)
- Revert the accidental style change of the settings buttons causing them to be darker
Content
New Assets/Profiles
- Add mission file for the JUICE mission (#2823)
- Add a new asset showing the eclipse shadow cone in the Earth/Moon system
- Add "mission" file giving access to all eclipses between 1900 and 2100
- Add new asset showing a text marker for the Moon (#2831)
- Add radial grids showing a comparison between the Earth ecliptic plane and the Moon's orbital plane
- Add GeoJSON files showing the paths many eclipses of this century
- Add an asset that shows the corona of the Sun during the last US eclipse in 2017
New Profiles
- Add a new eclipse profile with new assets
Updates to existing Assets/Profiles
- Update faulty tags for Charon and update other Pluto Moon tags for consistency
Content creation
- Add a new Renderable to show the shadow cone between two celestial bodies
Lua
- Add new function that resets the camera back to the start position (#2825)
- Add new function to remove all loaded assets (#2812)
Bug Fixes
- Fix issues that would prevent scripts from being executed twice in a dome environment, that would break stateful actions (#2872)
- Fix an issue where the start time would not be set correctly when starting a profile paused (#2826)
- Fix crash when trying to start a profile with a navigation state camera settings
- Fix issue where scripts from the Additional Scripts dialog would not be added in the order of the list, but in selection order instead (#2862)
- Fix issue where the Sun and Moon were not layered correctly during an eclipse
- Fix issue where the Apollo 17 insignia would not show up correctly
- Fix issue with fisheye configurations created through the window configurator (#2818)
- Fix issue where a non-square image would be shown at a wrong aspect ratio (#2815)
- Prevent crash on AMD cards when trying to upload textures with MipMapping enabled (#2843)
- Fix potential crash in the RenderableShadowCylinder
- Fix issue that would ping the camera to infinity when trying to jump to an object with a bounding sphere of 0
- Fix issue that prevented the action to hide all constellation lines from working
- Improve quality of error messages when loading illformed GeoJSON file
- Fix issue where trying to include an invalid image as a screenspace image would produce infinite error messages
- Fix issue where transparency for movies would not work (#2792)
- Fix issue that would cause GeoJSON rendering from not working on some graphics cards
- Make the loading of GeoJSON files more flexible by allowing .json files (#2797) and allowing null geometries that will no longer fail, but instead produce an error (#2811)
- Update offline Mars map to fix 180 degree offset
- Fix potential crash when no shadow caster was specified in an eclipse scenario
- Fix issue that would cause many scene graph nodes from now being deinitialized correctly (#2851)
- Fix crash when flying to navigation state with non-existing anchor
- Prevent crash when the
cachefolder is left in an inconsistent state after the application closes (#2850) - Prevent rendering errors in the galaxy rendering when minimizing the window (#2852)
- Fix crash that would occur when trying to delete an asset that is also a root asset
- Fix issue that prevented the Voyager 1 and 2 trails from showing up
- Fix issue where the educational asset of the Statue of Liberty was located at the wrong place (#2787)
- Fix issue that would be raised when trying to create an identifier from non-ASCII characters
- Allow negative values for KeplerTranslation that wrap around correctly (#2784)
Scientific Software - Peer-reviewed
- C++
Published by alexanderbock over 2 years ago
OpenSpace - 0.19.0
Features
- Add the ability to customize the complexity of the user interface by choosing the visibility level of settings to determine how many of the properties are visible. The visibility settings can be set from the
openspace.cfgfile or by specifying an environment variableOPENSPACE_LEVEL. (#166) - Toggling objects in the scene menu will now fade them in and out over a given time, rather than toggling them instantaneously. The default duration can be changed in the Setting / OpenSpace Engine / Fade Duration (#1827)
- Add the ability to add videos to globes, sphere, and planes. The videos can be played back at their native speed or stretched to cover arbitrary time ranges. The
data/asset/examples/videoasset files include examples of how to use this feature. (#2608) - A complete redesign of the documentation generated by OpenSpace. The new documentation now includes more information, is a lot easier to navigate, and includes links to other important sources of information. It can be found in the same location as before under
documentation/index.html(#2604) - Include a new technique to display GeoJSON files on globes. This feature can be used to render line strips and polygons onto the surface of any planet. (#2595)
- Add a new GUI for ongoing missions that provides information about mission duration and milstones. This is a first step towards making mission profiles more accessible to users without prior knowledge (#2603)
- Add a new user interface that can be toggled through the ... menu in the bottom right that is a Getting Started Tour to teach new OpenSpace users how the navigation system works and how to operate the different settings in the menus (#2189)
- Replace the previous caching method for GlobeBrowsing layers with an MRF-based cache. This allows the caching of any remote layers locally on the computer. (#929)
- Fade out stars and other objects in atmosphere during daylight (#1148)
- SkyBrowser
- Add the ability for the image inset to have both sharp or rounded corners (#2029)
- Add the ability to the Skybrowser to drag and drop images to change their order in the viewer
- Add the loading of a hash for WWT image files and automatically force a redownload of the files if the hash has changed
- Move the wwtdataimages location into the sync folder (#2115)
- Various performance optimizations
- Move calculations for bounding sphere to only be executed during a full sweep, which improves overall performance (2726)
- Switch multiple OpenGL calls to a single call for increased efficiency in the asteroid rendering (#2724)
- Improve the performance of the SkyBrowser for both rendering and image loading
- Add a property to make it possible to set if the browser display copies should animate while the target is moving (#2773)
- Add the ability to instantaneously jump to the end point of a path (#2568)
- Add the ability to fade out a model that consists of multiple components (#2550)
- Add the ability to provide both minimum and maximum distances in which the camera can be relative to the current focus node. This also adds the ability to disable the limit entirely (#2570)
- Add the ability to select individual constellations (#1682)
- Add support for other file formats for general pertubation information, in particular OMM KVN style (#1778)
- Add the ability to disable the automatic slowdown when the camera approaches the surface of a planet in order to provide a flight that has a constant linear velocity (#2150)
- Add the option to invert the direction of the camera during an idle behavior. This can be achieved both through a separate property that inverts the direction and also by allowing negative speed factors (#2379)
- Add new configuration file that also adds 3D graphics to the UI window (#2530)
- Enable highlighting of lines in grids (#1683)
- Automatically abort an ongoing shutdown when interacting with the mouse or the keyboard (#2393)
- Add the ability to disable mouse input (#2361), zoom and roll for touch interaction, and keybindings (#2238)
- Expose the ambient intensity lighting value for globes as a property
- Add the ability to configure the Console key through the openspace.cfg (#2573)
- Add an enable/disable property to toggle the use of a TimelineRotation (#1607)
- Expose the SGCT statistics information through a property in the RenderEngine (#2195)
- Update Spice repository
Launcher
- Add info tooltips to profile dropdown
- Add the ability to edit previously created configuration files through the editor (#2574)
- Changes to the configuration editor with regards to the behavior of the GUI portion of the window and the 3D rendering. There is now a combobox in the editor to specify how the different windows should behave (#2531)
- Option to specify a scene graph node in profile editor camera dialog to start the camera at the given scene graph node (#2227)
- The properties panel now makes use of the script log dialog (#2253)
- Allow the script log dialog to return multiple scripts
- Replace profile actions/keybind editor button with single close button (#2497)
- Rename "Keybindings" panel to "Actions & Keybindings" (#2363)
- Add the ability to open a different scriptlog file when changing the additional scripts (#1545)
- Reduce the forced height of the asset editor, making it possible to resize the editor to increase legibility on low resolution displays (#2547)
- Remove explicit specification of read-only profiles and read-only configuration files. Now every profile and configuration file that is not in the
userfolder is read-only - Increase the size of the configuration boxes in the launcher to make files with long names easier to read (#1785)
- Add a display of the version number in the bottom right of the launcher (#2365)
Content
New Assets/Profiles
- Add layer files that use the new AMNH-based WMS server (#2451)
- Add objects that can be used to show the scale of other objects, for example the Eiffel Tower, the Statue of Liberty, the Golden Gate Bridge, etc (#2273)
- Add new offline profile that can be used without internet access (#1714)
- Add top dwarf planets (#1712)
- Add Ceres in dwarf planet folder (#2260) (#2261)
- Add assets for the Shepherd moon group of Saturn system (#2157)
- Update existing outer planets SPICE Kernels and adding new moons to outer planets (#2556)
- Add Itokawa model (#1264)
- Add v3 WAC layer for the Moon (#886)
- Add a new empty profile "empty.profile" that can be used as a starting point for custom profiles
New Profiles
- Add a new profile showing ESA's JUICE mission (#2155)
- Add new profile to show the Artemis-1 mission (#2597)
New Maps
- Add new 99.5% coverage CTX layer for Mars
- Add new layer for the moon of Triton using Voyager2 information (#2198)
- Add new Mosaic layer from the Lunar Orbiter Mosaic
- Add a new combined clouds-magellan layer for Venus (#1534)
- Add a combo layer that shows the NOAA20 VIIRS layer and transitions to the ESRI ground layer (#2538)
Updates to existing Assets/Profiles
- Data Updates
- Action updates
- Harmonize capitalization of action names (#2579)
- Move actions defined in profiles into assets to increase their reusability (#2408)
- Add actions for minor moons (#2476)
- Add new actions to show the zodiac constellations (#2272)
- Add action to control the global lighting of all globes (#2494)
- Add new action to toggle dwarf planet visibility (#2674)
- Add new actions for hiding/showing major moons and their trails (#2675)
- Rename ISS scene graph node and remove the previous ISSPosition node (#2245)
- Create labels for all moons and grids (#1486, #1244)
- Create a better organization for moons of gas giants by introducing subgroups #2609
- Add lighthour grid to Digital Universe, and light minute and light second grids to Earth (#2439)
- Move Gaia and JWST from
missionsto newtelescopesfolder - Update all assets to a new consistent coding style (#2713)
- Moves
default_actionsanddefault_keybindingsasset file locations - Change procedural globes to explicitly specified globes
- Remove unused asset files,
asset_helper,script_scheduler_helper,testing_keybindings, andprocedural_globe
- Moves
- Move the Milky Way Image and arm labels from
/Universe/Galaxiesto/Milky Way - Some simplifications to joystick assets and enable reversal of axes
- Show animation in example asset
modelshader.asset - Set default settings for blue marble height to make it look similar to the ESRI terrain layer (#891)
- Change layer name/description to match image cloud image for the BlueMarble clouds (#2285)
- Update the Ipac example asset
- Remove luastatemachine example asset as it was superseded by the new native statemachine introduced in 0.18.0 (#2193)
Profiles
- Asteroids
- Disable most objects in the asteroids profile at startup (#2477)
- Bastille Day
- Add more explanation about the static magnetosphere
- Resetting the CME loop also sets the delta time to 1 in the bastille profile (#2516)
- Juno
- Update Juno kernels
- JWST
- Messenger
- Switch MessengerTrail to RenderableTrailTrajectory in order to match start/end times, and add corresponding sample interval (#2292)
- Remove camera lighting from Messenger spacecraft
- New Horizons
- Update sample interval for New Horizons trail
- Disable New Horizons labels by default (#2743)
- Rosetta
- Add scheduled scripts to enable shading outside of image acquisitions for the rosetta profile (#2514)
- Voyager
- Add tags to Voyager models in assets
Content creation
- Add the ability to start a profile paused (#2228)
- Add new dashboard item to show elapsed times (#2234)
- Move the keybindings out of the
base.assetand the specific label keybinding out of thedefault_keybindings - Remove the exoplanets and skybrowser module specifications from
base_blank. Add the skybrowser and exoplanet module specifications tobaseasset - Add events when paths are started or finished (#1834)
- Add events for when renderables are enabled/disabled that can be used to link renderables together (#2132)
- Add a new portrait window config (#2383)
- Add a new dashboard item that shows the state of input devices (#2415)
- Make the argument in
asset.localResourceoptional. If nothing is provided, then the path to the current directory that the asset is located in is returned - Make the numeric value of the model scale a property allowing the size of models to be adjusted at run-time
- Add the ability to use integer NAIF IDs in a
SpiceTranslation - Add the ability to pass a boolean value into the
asset.requirefunction that gets passed into the loaded asset as aenabledproperty (#1279) - Add property that contains the list of all compiled modules (#1021)
- Make it possible to individually set the base radius for
RenderablePrismshape which can be a cone, a pyramid, or any other shape - Add new property to the
IndexSequenceTileProviderthat shows the number of available images in a sequence (#2688) - Add a missing dimensions property to the screenspace browser
- Add option to specify an offset distance for the start and end points of the
RenderableNodeLine(#2483) - Remove unused Roll Y movement for camera
- Add the ability to provide a random background image to the
TileIndexTileProvider - Add an option to the HttpSynchronization to automatically unzip downloaded files (#1852)
Lua
- Add the ability to pass a script to the
setPropertyValuefunction that is called after interpolation has finished - Make it possible to trigger camera path with zero duration
- Add function that creates a valid identifier from any string
- Add function to load CSV file, utilize new function to correctly load bookmark values (#2124)
- Update documentation for
setPropertyValueSinglewith all available easing functions - Add the ability to move globe layers based on their name (#2411)
- Changes to the
addCustomPropertyfunction to restore functionality and make it more useful (#2433) - Add function to target the previous and next interesting focus node
- Add function to return a list of all defined tags
- Add function that returns information about the current OpenSpace version (#2136)
- Add some helper scripts to modify property values (
appendToList,add,invertBoolean) - Add functions to get distance to bounding and interaction sphere
- Add function to get the current distance to the focus object
- Add function that resets the screenshot index of the current session back to 0
Bug Fixes
- Fix for the issue that prevented inputting underscores and period characters in the WebUI (#853, #896)
- Fix an issue that caused a subsampling of the height map on planets (#2472)
- Correctly show all points, including the proper end point for a
RenerableTrailTrajectory(#2540) - Fix a bug that would cause 8 bit grayscale images showing up in red colors (#2330)
- Fix an issue that caused the adding and removing of assets to happen in different orders on Windows and Linux (#2513)
- Fix an issue where the behavior for a GUI window and a separate render window was causing the UI to disappear (#2372)
- Use correct FOV calculations to handle portrait or landscape windows (#2546)
- Disable too aggressive culling of
RenderableTrails that caused some trails to not render at all (#2653) - Move model loading code to initialiseGL which caused models to sometimes load without textures (#1838)
- Prevent crash when moving to an early date in the JWST profile (#2617)
- Fix issue where whitespaces in bookmark locations would cause a loading failure by replacing them with underscores
- Properly report an error when an
.infofile is missing the identifier, preventing the addition of a layer without one (#2490) - Fix an issue that caused multiple viewports and stereo rendering to not render correctly and prevent overlays on windows and viewports (#2542, #1645)
- Make the local bookmarks file print their error message if they fail and continue evaluating the file (#1483)
- Only reject major version changes in the JPL Horizons interface and allow minor version changes (#2507)
- Fix an issue where property owners would show the identifier and not their name in GUI (#2521)
- Check for invalid indices in the Gaia stars to prevent crashes in the gaia profile (#2495)
- Prevent an infinite loop when extracting invalid commandline arguments when starting OpenSpace from the commandline (#2349)
- Fix bug where triggering an action via keybinds would not work
- Do not crash when trying to add assets with invalid path (#2299)
- Fix issue that would cause actions in the Action panel to not be sorted based on their name or identifier
- Make the travel indicator take floating point length values smaller than 1 (#2459)
- Fix a bug in the gamma correction of dark screen-space renderables (#2776)
- Fix issue that would cause some GlobeBrowsing Lua functions to not be documented correctly (#2732)
- Fix an issue where it was not possible to set the WebGUI port from the
openspace.cfgfile (#2279) - Fix issue that caused a mask file in SGCT config to not load correctly (#2370)
- Fix crash when calling
openspace.getProperty()with only a tag - Remove unintentional default value for skybrowser/exoplanet module enabled property that would cause them to show in the UI even though they are disabled #2464
- Fix an issue where the Constellation selection did not apply to labels (#2382)
- Fix drag-drop error for the interesting nodes panel when trying to rearrange the list in the profile editor (#2346)
- Correctly parse SSSB files that use an integer, rather than a floating point, epoch (#2551)
- DashboardItem now listens to parameter 'enabled' in constructor
- Fix issue where the GUI allows, and then crashes, when a numeric input field has NaN value (#2452)
- Fix issue with some action folders in the Action panel not being clickable (#2467)
- Fix issue where we would use the SSB position instead of the Sun position in light sources (#2223)
- Add special case to the string tokenizer for "Keypad +" which caused an issue binding an action to that key (#2358)
- Do not render
RenderableTrailTrajectoryif the time is exactly the start time, which causes a crash (#2314) - Prevent a crash in the SGCT Editor when trying to add more than 2 windows on a computer with only 1 monitor
- Various precision fixes for camera paths that caused erratic behaviors (#2212)
- Move the Lua Console updating into the actual
postSyncPreDrawfunction so that it gets called accurately when GUI windows are present (#2141) - Fix crash when a profile would contain an empty profile line
- Remove the flickering that would occur during TileIndex tile provider loading
- Check for illegal keywords in the header of Speck files to detect invalid files (#2549)
- Provide a proper error message when trying to overwrite a hidden profile (#2575)
- Add more description to the --config command when starting OpenSpace on the commandline
- Provide informational text in the actions panel if the user tries to create an illegal identifier (#2289)
- Show error message when trying to save navigation state to an invalid file path rather than failing silently (#2508)
- Provide error message when running OpenSpace from a folder containing a ', ", [, or ] rather than providing obscure error messages (#2563)
- Fixed bug where Lua function
openspace.pathnavigation.isFlying()returned an unexpected value - Fix an issue that would cause a failure to download when providing a URL that ends in
/in a UrlSynchronization (#2435) - Fix collision between rendering of the native ImGui and the WebGui
- Remove legacy geometry specification from
RenderablePlanetProjection(#1967) - Fix issue with the ImGui GIBS panel where it did not create the new tileprovider format (#2108)
- Fix broken ImGui time picker unit dropdown (#2639)
- Do not crash when trying to access a module folder that does not exist (#2703)
- Prevent Lua error when trying to load a constellations file that does not exist
- Fix for preventing adding property from scriptlog if already in add mode (#2735)
- Remove check for boundingsphere among child nodes when flying to small objects that could cause issues if a child has a bigger bounding sphere than the parent (#2257)
- Fixes line ending problems with horizons vector files on Linux (#2588)
- Remove the registered actions before updating the delta time keybindings that prevented the rebinding of delta times at runtime (#2764)
- SkyBrowser
- Ensure all nodes in a cluster load the image collection in the sky browser (#2313)
- Fix issue with the sky browser space craft pointing where it would not point correctly under some circumstances
- Fix bug where some channels in a cluster do not set the field of view to the same value after animating (#2425)
- Fix a crash that could occur in the screenspace sky browser scaling (#2280)
- Fix bug that caused the master node to have no rendering output
- Fix issue where the scale sometimes did not update the border radius in time (#2266)
- Ensure browser is initialized properly before executing JavaScript
- Make it harder to input wrong values in the interface
- Disable hover circle per default when setting renderable and show a warning if setting to non-existing node (#2153)
Breaking Changes
- Make the check for whitespaces and dots in identifiers fatal also in non-Debug builds
- Provide error message if a GuiPath does not start with
/; Automatically add / in the Profile editor. Default initialize all paths to/(#2318) - Remove Earth layers that no longer work
Scientific Software - Peer-reviewed
- C++
Published by alexanderbock over 2 years ago
OpenSpace - 0.18.2
Bugfixes
- Fix to a problem that caused the Mars profile to not load correctly
- Fix for an issue that made the some of the options of the configuration helper functions in the openspace.cfg file unusable (#2364)
- Fix to an asset dependecy issue that prevent the JWST asset from being included outside the JWST profile (#2378)
- Fix to an issue that would prevent the FOV slider from working in a rendering+GUI window setup
- Fix to prevent invalid entries for actions and keybindings in the Profile Editor (#2362)
- Fixed and issue where it was possible to interact with a joystick during a camera path or a session recording
- Fix problem with the interaction sphere of scene graph nodes without renderables being unused (#2399)
- Fix issue where the explicit bounding sphere was being ignored (#1899)
- Fixed a typo in the documentation for the RenderableTimeVaryingSphere
Scientific Software - Peer-reviewed
- C++
Published by alexanderbock almost 3 years ago
OpenSpace - 0.18.1
Fixes to existing assets
- Use the new ESRI WorldImagery URL
- Use the new CelesTrek URL for all satellites fixing an issue where satellites would no longer appear due to a change in the CelesTrek API (#2135, #2146)
- Fix the Mars profile so that Perseverance and Insight do not land inside Mars anymore and stay there as well (#2049)
- Update OsirisREx kernels to include a missing kernel file that would prevent the profile from loading correctly (#2177)
- Reorganized the assets for the NASA Treks values to make it less likely to end up with too long file paths on Windows when installing OpenSpace in a nested folder (#2311)
- Fixed issue with Show All Trails / Hide all Trails when executed in a profile that did not have
*trailand*Trailscene graph nodes - Updated the bounding spheres for Vesta and the Orion Nebula to make it possible to use the Fly-To feature with these objects (#2259)
- Fixed a typo in the resetloopaction.asset that prevented the asset from being able to be included
- Fixed spelling mistakes in the Andromeda constellation image (#2129)
- Fixed spelling mistake in Voyager focus action
- Fixed missing GuiPath for Jupiter approach in Voyager profile
- Update the descriptions for the Open Star Cluster Digital Universe asset
Bug Fixes
- Fix issue where parts of a globe would disappear when the settings of a heightlayer change (#2096)
- Fix an issue where it was not possible to drag the SkyBrowser window in fisheye rendering mode (#2093)
- Fixed an issue where executing a SessionRecording containing a wildcard character
*in the property name fails to load (#2121) - Provide a better error message when failing to load a dataset for GlobeBrowsing layer
- Fixed an issue where ScreenSpace images would be too dark by adding a gamma correction slider
- Various compilation and UI fixes for Linux (#1479, #2111, #2123, #2163)
- Fixed an issue where the conversion of a preexisting profile from version 1.0 to 1.1 would not rename the keypad numbers correctly, causing the new profile to fail to load (#2138)
- Fix issue where the first row in the ScriptsDialog of the Profile Editor would be automatically selected (#2282)
- Fixed an issue where the navigation state was not loaded correctly from a profile (#2143)
- Fixed an issue where exporting the camera position to a Navigation State would lose precision
- Provide a better error message when trying to edit a profile that does not exist (#2224)
- Fixed an issue where special characters would not show in the keybinding panel correctly
- Fixed issue that prevented the full range of values for the field-of-view slider in the SGCT configuration editor from being used(#2148)
- Place some stricter limitations on the field-of-view settings in the SGCT Configuration editor (#2156)
- Fixed an issue that what cause a SkyBrowser display copy from being removed properly (#2200)
- Fixed an issue that would occur when the camera's focus node was removed (#2196)
- Correctly use the default position of display copies of the SkyBrowser
- Fixed an issue where the time component in the WebUI would flicker as time is progressing
- Fix an error where the interpolation parameter for a camera path was out of range causing the Fly-To to fail occasionally (#2211)
- Fixed issue where an asset in the Profile Editor would be selected if there wasa folder with the same name as the asset (#2154)
- Fixed an issue that would prevent multiple files from being synced in a UrlSynchronization
- Updated SGCT configuration files that where using a legacy user position
Breaking Changes
- The height offset of a GlobeBrowsing height layer was calculated incorrectly before, causing a flip in the sign. Before, an offset of 1000 would cause the terrain to be lowered by 1000m, not raised by 1000m as expected. With this version, this bug is fixed, but it might require some adjustments in existing profiles. Fix: Invert the sign of all
*.Settings.Offsets in scripts that apply to Height Maps - The organization of the NASA TREKs asset files has changed as the old method caused many users to get "too long path" errors on Windows. Fix: Any user-created profile that uses the NASA Treks files needs to be manually updated.
Scientific Software - Peer-reviewed
- C++
Published by alexanderbock about 3 years ago
OpenSpace - 0.18.0
Features
SkyBrowser
This feature adds an entirely new system to OpenSpace that interfaces with the AAS Worldwide Telescope (https://worldwidetelescope.org) application to bring high-resolution astronomical images and all-sky surveys into OpenSpace. The location of a selected image is shown in the 3D view inside of OpenSpace.
Procedural camera paths (Fly-To)
This feature adds the ability to automatically fly the camera between different objects and between different navigation states. Currently, this feature only works when the in-game time is paused and triggering a procedural flight path will automatically pause the time and unpause it (if it was unpaused before) after completing the path. Additionally, this feature enables the use of "Idle behaviors" that can either be triggered manually or by completing a procedural flight that will make the camera do something interesting until the user interacts with the system again.
- Adding procedurally generated camera paths (#1667)
- Remove OrbitalNavigator.LinearFlight and instead add "Zoom to" helper functions (#1837)
- Adding the ability to trigger an idle behavior for the camera after finishing a procedural camera path (#1898)
- Add an OrbitAroundUp IdleBehavior that rotates around the y-axis of the node instead of the z-axis
- Add Lua function to directly create path to a navigation state
- Automatically pause simulation time when starting a camera path (#1832)
- Add bool property to toggle follow anchor node rotation (#1839)
Actions
Introducing "Actions" as first-class elements in OpenSpace to make repeatable changes. In prior versions it was possible to bin scripts to keybinds and use a "key-less keybind" to configure repeatable effects. The "Action" concept replaces this by encapsulating the changes in an Action and then provide the ability to bind a key to trigger an action instead. This also enables the reuse of "Actions" in other parts of the software. Older profiles that were made with previous version will be converted automatically on load with an Action identifier generated automatically. - Added Actions concept (#1708)
Event System
Added a system that causes a specific list of events to be triggered automatically depending on the state in OpenSpace. This, for example, enables features to automatically fade an object's trial when flying closer to an object, but there are many more events that are defined in the system - Add implementation of the EventEngine to handle global event chains (#1741)
User interface improvements
Various user interface improvements in the launcher and the in-game interface
Launcher
- Add a new panel in the launcher used to create new SGCT configuration files.
- Add a new panel to query the JPL horizons interface and being able to generate Horizons files based on that
- Add ability in different Launcher panels to select profile properties from the ScriptLog of a previous OpenSpace run (#1780)
- Explicitly sort file lists before showing them to the user in the Launcher and the Session recording which were presented non-alphabetically on MacOS (#1943)
- Add the ability to choose the script from the ScriptLog in the ActionDialog and the additional script dialog including filtering and reloading the ScriptLog file (#2019)
- Add warning to keybinding editor for duplicate assignments (#1461)
In-game
- Add a new UI panel that shows a representation of the keyboard and all actions that are bound to keys
- Add links to a tutorial page in the hamburger menu in the bottom left
- Add UI elements that enables dynamic reordering of planetary layers
- Add action dialog used to browse and trigger the available actions that are defined in the current scene
- Reload UI after adding screen space renderables or assets (#1703)
- Add the ability to enable and disable the Exoplanets and Skybrowser components for individual profiles (#1945)
Various Enhancements
- Changed the default format of window configuration files from XML-based to JSON-based. The old XML format is deprecated and will be removed in the next major release (#1795)
- Add an asset (and load it in the provided profiles) to dynamically address some scaling based on the Operating System's DPI scaling (#1880)
- Add preliminary support for multiple simultaneous joysticks (#1787)
- Automatically use 66% of the monitor size by default instead of 1280x720 (#1883)
- Pass information about the operating system to the version reporter script (#1865)
- Add a new environment variable OPENSPACE_GLOBEBROWSING that is queried for the extra download files for offline planetary surface images
- Update CEF version which improves the responsiveness of the user interface (#1114)
- Add the ability to define and use custom properties using the
openspace.addCustomPropertyLua function (#2064) - Backwards incompatible change to the Astrocasting protocol that reduces the amount of data that is transferred while connected to an Astrocasting session (#1985)
- Improve support for the handling of SpaceMouse input devices and XBox controllers (#1989)
- Add error message when trying to access Gaia module on Mac (#843)
- Add two properties to control the font color of the Rotation, Zoom, and Roll toggles (#1726) [Thanks BlueVista]
- Added SpoutFlatProjection type [Thanks Marco @ Elumenati]
- Clean up the remainders of the native GUI to harmonize its organization with the WebGUI (#2060)
- Make the font size of the Lua console dependent on the DPI scaling for increased readability
Content
New Assets
- Add most of the image sequences available from NOAA’s Science-on-a-Sphere (#1863)
- Add new assets provided access to a large number of NASA TREKs Moon, Mars, and Mercury layers layers (#888)
- Add a new profile and assets that show the solar activity in July 2012, a time in which a few coronal mass ejections were ejected into the solar system
- Add new asset containing the Starlink satellites (#1818)
- Add new asset showing the active satellites (#1805)
- Add model-based representations of the Mars moons Phobos and Deimos (#1963)
- Add a model for the Eiffel tower with an accompanying action to place the model underneath the camera location to be used for scale references
- Add a large number of new actions that are useful in their own right, but also serve as examples for implementing new user-defined actions (#2077)
- Add trails for the planets barycenters which are disabled by default
Fixes to existing assets
- Update the general planetary spice kernel to a new version that extending the range of planetary positions to covering 1550-2650 (#2061)
- Removed the Orion nebula model from the default profile
- Updates to JWST profile
- Add a new new animated model (#1759)
- Update for the timing information to match the actual launch date
- Add new kernels that show the position of JWST from the launch all the way to the orbit around L2 (#2085)
- Add more target images
- Add a custom webpage (http://ui.openspaceproject.com/jwst_scripts/index.html) used to control the orientation of JWST
- Add the Hubble telescope trail
- Update the kernels used in the OSIRIS-REx asset (#1651)
- Update to all Horizons-based trails to use VECTORS type ephemeridis that do not suffer from the light-travel offset inherent in the Observer type (#1434)
- Updated the kernels used for the Perseverance landing
- Update the Earth Terrain WMS to the new ESRI server
- Correctly specify the bounding sphere for the ISS
- Add the option to apply a color map to the values of the Quasars dataset from the Digital Universe
- Fix issue with stretched Themis maps on Mars (#1707)
- Update the data used to show the Gaia trail (#1817)
- Correctly specify the model size of the Apollo capsules (#1718)
- Correctly add the Mercury DEM layers (#1799)
- Update the Pioneer model to include textures
- Fix the image type for GHRSST L4 MUR sea temperature layer on Earth
- Update the color map for the Gaia Apogee and Galah datasets
- Set the correct radii for Bianca moon
- Set the correct radii for Mimas moon
- Remove the padding images from New Horizons that mess up instrument timings in the dashboard info in the New Horizons profile
- Correctly parent the Gaia trail and model to the Earth Center to match the Horizons file (#1573)
- Fix mistake that caused the Gaia spacecraft to not point away from the Sun anymore
- Fix issue where the identifier of the Camera Velocity dashboard was wrong
- Move the launcher image synchronization from base into the base_blank asset
- Move the trail-related actions from the base_blank into the base asset Other changes
- Add an action and event to automatically switch the Sun and SunGlare when approaching the Sun (#1914)
- Add bounding spheres to many more renderable types (#1957)
- The “Period” of a RenderableTrailOrbit is no longer converted from days to seconds when loading an asset (#1860)
- Renamed the prefix for the constellation art by James Hedberg from
ConstellationArttoImageConstellationto provide a better search result when searching for “Constellation”
Content Creation
Assets
- Deprecate the use of the
asset_helperfile in exchange for explicitly writing the initialize/deinitialize functions (#1868) - Change the behavior of TemporalTileProviders to provide both a Folder based and a Prototyped mode (#1800)
- Adding an ImageSequenceTileProvider that loads a folder of images and makes them available through a user-selectable index (#1798)
- Add a new (hidden from UI) "Fade" property to enable the smooth fading of objects without messing with user's opacity (#1970)
- Add the ability to ingest VECTORS type ephemeridis from Horizons (#1434)
- Add properties to SceneGraphNodes to determine two distance radii for camera-based events
- Add a new rotation type
GlobeRotationwith examples (#1737) - Interpolation of tiles added to tileprovider, with additional new shaders to make this work (#1769)
- Add moon_minor tag for all minor moons
- Implement new Spout input methods to tile providers and new Renderables (#1901) [Thanks Marco @ Elumenati]
- Make the Sun asset export the Sun as a light source (#1870)
- Replaced "UseAdditiveBlending" with "RenderBinMode" in some Renderables (#1842)
- No longer require the filenames from a synced resource to start with a /
- Add support for RenderableModel to take custom shader code with example (#1723)
- Remove Fallback layer concept (#1819)
- Remove the old virtual property code
- Add new model format compatible with TurboSquid requirements (#1706)
- Add support for DMS format support in the DashboardItemGlobeLocation (#1632)
- Renamed “RenderOption” to “RenderMode” in RenderableGaiaStars (#2078)
Lua
- Add a Lua-controllable State machine that can contain nodes and edges where transitions can be defined that execute Lua scripts (#1705)
- Make the UTC function return the date in ISO 8601 format as advertised. Add SPICE function to get the old format (#1776)
- Add ability to print all types of information in the printInfo/... functions and add the ability to pass any number of arguments to the function (#1635)
- Add the ability to target the next interesting focus node as provided by the profile (#1717)
- Add a Lua function to be able to read files from disk (closes #1636)
- Add Lua script to manually sync or unsync resources (#1713)
- Add Lua functions to get the bounding and interaction sphere values for a SGN
- Add Lua function to get current application time
Bug Fixes
- Fix issue that would prevent Windows 11 from being detected correctly
- Correctly specify tags and fix usage of "refreshRate" and "vsync" parameters (#1890)
- Fix globe transformations not updating from height map if simulation time paused (#1766)
- Prevent the loss of precision in the Launcher camera UI dialog (#1642)
- Prevent a crash when a profile does not provide any Time or Camera information (#1981)
- Prevent crash in DashboardItemInstruments when using dates before 2000 (#1878)
- Add the current working directory correctly when registering the application's binary path
- Fix issue that prevented AMD cards from being detected correctly (#1907)
- Correctly destroy RenderableGalaxy shader when deinitializing (#1601)
- Prevent some crashes from occurring trying to query non-existing scene graph nodes (#1831)
- Fix issue where the search bar would not show all entries in the Scene list (#1775)
- Fix a crash when unloading GlobeBrowsing layers
- Fix issue that prevents the drag-dropping of an image that has extra dots in the name (#1793)
- Fix issue loading a colormap for the Gaia stars
- Fix for a crash that happened occasionally when adding exoplanet systems (#1781)
- Fix RenderablePlaneImageOnline not updating size on property change
- Prevent the use of modifier keys as actual key bindings (#1744)
- Prevent saving keybinds without a key as that leads to a crash (#1758)
- Removed hard-coded path expectations to allow drag & drop playback (#1754)
- Correctly display user assets in the asset selection GUI (closes #1739)
- Avoid crash in AstroCasting when there is no connection
- Fix GlobeRotation/Translation not updating if simulation time is paused
- Add fix to raw tile reader size calculation that prevented the full resolution of a GeoTiff to be used (#1716)
- Fixed timing issue when interpolating property values while playing back a session recording while writing out frames (#1690)
- Don't disable the CEF UI when turning off Master rendering (#1699)
- Reset the anchor/aim node when removing a scene graph node to prevent a crash because of the node missing (#1402)
- Prevent resetting of empty tile providers which would cause a crash (#1383)
- Increase the sensitivity in the DebugAxis to prevent loss of color in debug axis (#1560)
- Prevent the failure of font loading from keeping file handles open and breaking everything else (#1627)
- Explicitly check for NaN in camera setting which would sometimes lead to the camera borking out (#1686)
- Don't accidentally delete someone else’s VBO and VAO in Atmosphere Deferred Caster (#1694)
- Filter out non-image files from the launcher collection (#1693)
- Add support for speck keywords that are mixed case (#1689)
- Make the speck loader ignore tabs as well as spaces (#1688)
- Provide error messages when loading a speck file that contains entries that are not numbers (#1903)
- Fix for rendering atmospheres on Intel chips
- Fix an issue that lead to misclassification of OpenGL versions
- Fix mix-up with the enabled cube faces in the spout configuration
- Fix issue that could lead to an unresponsive application when encountering FreeType errors
- Improved numerical precision on scale value in sessionRecording files in ascii format (#1732)
- Prevent the automatic detection of texture sizes that would prevent a, for example, 128x1 image to be used as a 2D texture
- Support negative altitudes in GlobeTranslation
- Fix for an issue that would lead to an infinite loop when loading an invalid Horizons file in a HorizonsTranslation (#1849)
- Fix for a rendering issue where labels on planets would be rendered without depth testing (#1915)
- Fix for rendering "DoubleProperty"s in ImGui that led to a crash when looking at the property list
- Fix that prevented the playback of an ASCII session playback file with a script recording that contains a newline character (#1974)
- Fix issue where playing back a session recording containing a multi-line script would fail loading (#1905)
- Fix issue that could occur when there is an erroneous TUIO server sending input that are interpreted as touch inputs
- Fix issue that would prevent the loading of map tiles from the Utah WMS server
- Prevent a crash when using a colormap in the RendrableBillboardsCloud without entries or if the provided color map did not exist (#2082)
- Fix an issue where the loading of NaN values from a speck file failed to work and would stop the file loading (#2054)
- Fix an issue where a FixedRotation depending on the position of other nodes would not update correctly when the time is paused (#1751, #2069)
- Fix a bug that would load the wrong profile when selecting a built-in profile with the same name as a user profile (#2074)
- Fix issue where the colormap values for a custom coloring option in the RenderableStars were not loaded correctly (#2080)
- Fixed an issue where the focus node would not be correctly reset after a session recording finishes (#2070)
Breaking Changes
- Renamed
RenderEngine.ShowOverlayOnSlavestoRenderEngine.ShowOverlayOnClients- Change how moveLayer works slightly, so it is easier to use in a GUI implementation
- Remove non-functioning ABufferRenderer from RenderEngine
- moveLayer indexing changed; "newPosition" is now considered to be the item's new position (index) in the list
- Keybindings -> Actions transition; users need to first define actions and then bind to keybindings rather than just defining keybindings
- Loading .scene files is no longer supported and files need to be converted to .profile files
tileProviderrenamed toTileProviderandadjustmentrenamed toAdjustmentin Globes- Linear flight removed and replaced with camera paths
- Lua function renaming/changes
getKeybinding->keyBindingsgetSpiceBodies->spiceBodiesgetSpkCoverage-> removedgetCkCoverage-> removed- Renamed “RenderOption” property to “RenderMode” in the RenderableGaiaStars (#2078)
- Renamed “openspace.walkDirectoryFolder” to “openspace.walkDirectoryFolders”
- Removed non-functioning “openspace.saveLastChangeToProfile” function
Scientific Software - Peer-reviewed
- C++
Published by alexanderbock over 3 years ago
OpenSpace - 0.17.2
A patch release for Beta-10 that addresses the issue of the ESRI terrain server that disappeared
Features
- Added Enabled/Disabled color customization to RenderEngine (partially address #1697)
Content
- Updated Earth terrain server to new ESRI server
- Corrected the scale of Apollo capsule model (#1718)
- Fixed image type for GHRSST L4 MUR sea temperature
Scientific Software - Peer-reviewed
- C++
Published by alexanderbock over 4 years ago
OpenSpace - 0.17.1
A patch release for Beta-10 that addresses the major bugs introduced in 0.17.0. The full change log:
Features
- The DashboardItemGlobeLocation now prints the camera location in more standard GPS coordinates in Degrees, Minutes, and Seconds (DMS) (#1632)
- Automatically reload the WebUI after a drag & drop event (#1703)
- An info message is printed when an asset is added via drag & drop
- Added option to the OpenGL Debug layer to print a stacktrace (#1700)
- Removed the option of changing the rendering to the (already non-functioning) A-Buffer ### Content
- Corrected the parent of the Gaia spacecraft trail (#1573)
- Fixed model assets with incorrect (outdated) syntax (#1692)
- Pioneer models
- Apollo boulders ### Content Creation
- Profile Editor keybindings panel can have multiple binds of same key (#1461)
- Added the ability to read a file through Lua (
openspace.readFile) (#1636) ### Bugfixes - Fixed an issue where planet atmospheres are not rendered on Intel GPUs
- Fixed a crash when resetting tile provides on a RenderableGlobe without layers (#1383)
- Fixed an issue where the resetting of font sizes would cause file handles to overflow
- Fixed an issue that would double frames in Session Recording when in 'Output Frames' playback mode (#1669)
- Fixed an issue where the scripting print functions do not handle all return values correctly and reliably (#1635)
- Fixed an issue where the ConstantRotation transform doesn't respect non-incremental time changes (#1681)
- Fixed a crash when removing the scene graph node that the camera is currently focused on (#1402)
- Fixed an issue that prevented loading a prespecified SGCT configuration file through the launcher (#1624)
- Prevent setting camera position to NaN under weird circumstances (#1686)
- Fixed an issue where disabling the
Master renderingoption also disables the UI and client renderings (#1699) - Fixed an issue where speck file containing tabs were not loaded correctly (#1688)
- Fixed an issue where speck files with different capitalization of keywords were not loaded correctly (#1689)
- Fixed an issue with the debug axis causing a color loss in scaling (#1560)
- Fixed an issue with Launcher background showed gray instead of an image; Launcher image search now ignores non-png files (#1693)
Scientific Software - Peer-reviewed
- C++
Published by alexanderbock over 4 years ago
OpenSpace - 0.17.0
Beta-10 is now available for download!
Features
- Added drag and drop support for images and assets (#1497)
- Added central location for user profiles, assets, screenshots and config files. Making it easier to upgrade OpenSpace versions.
- Added support for multitexturing of 3D models
- Added support for 3D model animation
- Added logarithmic sliders and color picker (#1564)
- Added the ability to remap SPECK variables to usage values for star data (#1598)
- Multiple new Session Recording features
- Fixed-frame rate playback for HD rendering playback
- Time rate at beginning of recording is preserved
- For every property change made during a recording, a corresponding property command is added to the start of the file to preserve its initial conditions
- A recorded file is parsed before playback starts, and is rejected if it contains assets that are not currently loaded
- Pausing during playback is now supported
- A reject list will prevent certain scripts from being recorded (which might interfere with playback or with editing playback files)
- Now records to timeline in memory, saving to disk when recording has stopped
- Added equirectangular_gui config for YouTube360 output
- Added the ability to specify RenderEngine font sizes in the configuration file (closes #1653)
- Added functions to convert a cartesian coordinate to a ra dec distance
Content
- Added habitable zone for exoplanet systems (#1436) and our Sun
- Added 1 AU size comparison ring for exoplanet systems (closes #1413)
- Updated ISS model
- Updated DU Kepler planetary candidates data version
- Updated the constellation art (closes #1553)
- Added Titan atmosphere
- Added new asset to show a target marker (closes #85)
- Added ESRI MOLA_HRSC DEM and made default for Mars
- Added Pluto Kepler trail and descriptions to Pluto trails
- Changed default texture for newhorizions profile
- Added jwst profile (#1611)
- Added 3D model of the James Webb Space Telescope
- Added trail of JWST orbiting L2
- Added L2 position, marker, and line from earth
- Added safe-viewing band for JWST
- Added view frustrum for JWST
- Added Hubble Deep Field image
- Added other Lagrange points
- Updated osirisrex profile (#1623)
- Updated files for OSIRIS-REx return
- Changed osirisrex assets to bring mission events up to date
- Added hi-res 75cm Bennu model from asteroidmission.org
- Removed camera as light source for New Horizons model
Content Creation
- Specify of Atmosphere in assets no longer needs the
Atmosphereparent table - Bring back fading of sphere with only fade out threshold specified
- Added examples for all grid types
- Added USGS WMS layers for Phobos and Deimos; moved them to planets.asset to be consistent with other solar system moons
- Improved documentation for renderables
- Added missing documentation for NonUniformStaticScale
- Added examples for circle, ellipse, and elliptic disc
- Enabled support for single double radius in SizeReferenceTileProvider (closes #1562)
- Added ListProperties and SelectionProperty (#1558)
- Added string list property tests and structure test files
- Added IntListProperty, DoubleListProperty
- Added GlobeTranslation Documentation to exported documentations (closes #1566)
- Removed unused parameters and document the remaining properties of RenderableGlobe (closes #1470)
- Enabled Screenspace renderable to have a multiplicative color
- Fixed missing documentation for time.interpolateTime
- Added fixed time for spice translations and rotations
- Added simple animation example asset
Bugfixes
- Fixed Deep Sky Objects basic unit and increased maximum scale range (#1452)
- Fixed reading of newhorizons files
- Updated newhorizons.profile
- Fixed error that the shadow of Charon is not toggled with Shift+T (closes #1463)
- Fixed syntax error in A key (closes #1464)
- Fixed for issue #1453 MODIS water mask update
- Avoided adding too many delta time step keybindings (closes #1445)
- Small grid renderable updates/fixes (#1473)
- Fixed problems with blending when rendering transparent grids
- Fixed issue with resizing box grid
- Avoid problems with line width on Mac
- Globebrowsing fade-in/out fix and assets updates (Issue #1209) (#1476)
- Fixed fade out algorithm to use correct distance from globe center
- Updated planet labels in asset files to match fixed fade-out algorithm
- Fixed issue with the item velocity not showing up correctly and with varying lengths
- Fixed a crash when reloading a browser instance twice in quick succession
- Fixed for HiRISE Local Set DEM from ESRI
- Fixed Pioneer model, added meta info
- Fixes for issue #1409 (#1501)
- Fixed renderablesmallbody selective rendering props to accept asset file settings
- Mirror selective rendering behavior from smallbody to satellites
- Added property coupling of values to satellite/asteroid render settings for size, start index, upperlimit
- Improvements to documentation and handling values spec'd in asset file
- Fix for satellites: selective rendering settings specified from assets
- Prevent renderbin change for overlay renderables (#1519)
- Fixed labels not facing the camera due to static rotation (closes #1542)
- Prevent crash when reloading renderable that only has labels and no data
- Updated Apollo models for new model code
- Ignore joystick input in deadzone, fixes #678
- Prevent setting zero line width from UI
- Fixed an issue that prevented the spheres from being rendered
- Increased scale height for Venus atmosphere (closes #922)
- Simplified Property code (#1575)
- Solved a bug in SelectionProperty that occurred when re-setting options
- Fixed that allows all days of month except monthly increment still at 1-28 for TemporalTileProvider
- Renamed PerSceneCache to PerProfileCache and make it work again (closes #1577)
- Only use the adaptive level-of-detail when actually rendering out frames in a session recording (closes #1292)
- Actually make use of the model matrix in the atmosphere radius calculation for determining whether it should be culled (closes #1465)
- Fixed issue when trying to print non-ASCII character
- Fixed interpolation problem with playback of session recording in HD (#1373)
- Fixed session recording needs initial simulation time rate to be saved in file (#1506)
- Fix for Voyager 2 trail (#1582)
- Fixed side by side rendering (PR #1613)
- Fixed an issue with syncing Gaia profile
- Fixed misaligned surface textures for Callisto, Europa, Jupiter, Titan, and Saturn
- Mostly eliminated an issue where planets disappear when changing focus (#1455)
- Reduced risk of font rendering errors from user interaction (#1206 hot fix) (#1616)
- Fixed Voyager spelling mistake
- Updated documentation for bindkey
- Fixed broken referencing links in documentation
- Fixed issue when RenderableBillboardsCloud had data without colors
- Read Horizons file with double precision
- Fixed some small issues with trail identifiers
- Comment out FOV for REXIS as it has an unsupported shape (closes #1650)
- Prevent NaN values in StaticTranslation by limiting min and max size
- Added exponent to GlobeTranslation altitude slider
- Correctly pass in the irradianceFactor into the inscatter radiance for atmosphere (closes #1660)
- Avoid non-supported ranges for exponential slider (#1672)
- Fixed issue with interrupted fisheye rendering between cube maps (closes #1275)
- Fixes to fullscreen1080 and spoutOutput config files
- Adapt addFocusNodes for GlobeTranslation
Enhancements
- Added module property for exoplanet habitable zone opacity
- Speed up for
setPropertyValuefunction - Improved Saturn rings
- Make use of new verifiers (Color and File) (#1510)
- Added a colored glare to exoplanet stars (#1511)
- Removed hardcoded path to B-V colormap (#1531)
- Added property to determine whether the date should be added to the screenshot folder (#1535)
- Added dialog for choosing scripts from the script log (#1539)
- Added a scriptlog dialog field to the additional scripts box
- Enable setting of opacity for RenderableGlobe (closes #1449)
- Feature/galaxy (#1576)
- Remove translation from renderablegalaxy
- Apply additive blending when compositing downsampled volume; Use star distance as alpha for transparency (closes #1208)
- Added the ability to specify a specific time for a TemporalTileProvider (closes #1171)
- Feature/interactionsphere (#1561)
- Added ability to render the bounding sphere as a debug option
- Separate boundingsphere and interactionspheres
- Feature/speck loader (#1585) unified code for loading .speck files
- Enabled joystick interaction by default
- Added the ability to RenderableFOV to always draw the field of view frustum
- Increased the number of objects and windows that are extracted from SPK and CK files
- Updated SPICE library to N0066, build spice as static library to improve performance slightly
- Added base texture or color to ModelProjection
- Centered shutdown warning and a dimming of the rendering
- Feature/render at distance (#1665) adding option to disable distance check for globes
- Added the ability to optionally ignore the scale value read from session recordings
- Added new images to OpenSpace Launcher
Breaking Changes
- Remove the ability to render AABB for globes as it caused a circular dependency between GlobeBrowsing and Debugging
- Renamed
AtmosphereRadius->AtmosphereHeightandGroundRadianceEmittion->GroundRadianceEmission - Changes specification of Shadowgroups in Atmosphere to be list-based
- Rename
GridColortoColorfor better consistency among renderables - Updated pioneer identifiers to allow spice and horizions to coexist
- Move default_dashboard asset from util folder to new dashboard folder that also includes the individual dashboard items
- Include strict lua file, throw error in configuration loading when overriding with unused variable
- Feature/numeric slider updates (#1609) Renderables with rename properties:
RenderableLabels , GlobeLabelsComponent, RenderableBillboardsCloud, RenderableDUMeshes, RenderableRadialGrid) see https://github.com/OpenSpace/OpenSpace/commit/169593774976b7389f1d3c921e2074e8a701d000 for details. - Switch use of Spice id SUN to SSB where SSB is parent
- Place planets in their centers and not barycenters
- Separate the different joystick configurations into their own assets
- Update faulty docs and function name for getGeoPosition (#1662) (#1677)
Scientific Software - Peer-reviewed
- C++
Published by alexanderbock over 4 years ago