Gaia Sky 3.5.0-RC1
Features
- migrate VR version to OpenXR API.
- add arbitrary warping mesh support to distort the final image according to a warping mesh file in PFM (portable float map) format.
- proper lens flare post-processing effect.
- replace lens flare checkbox with lens flare strength slider.
- enable choosing the lens flare type (pseudo lens flare, real lens flare) in the settings. Make new lens flare the default.
- increase chromatic aberration amount in pseudo lens flare effect.
- add maximum number of virtual texture tile load operations per frame to settings file, and increase its default value from 3 to 8. Use a deque instead of a queue for the tiles waiting to be loaded, and add the newly observed tiles to the head instead of the tail.
- move archetypes definition to JSON file to facilitate the automatic generation of documentation.
- move attribute map definition to JSON file, which contains the definitions of all the attributes per component, and also a description for each of them. The aim is to generate part of the data format documentation from this JSON file.
- add variations of API calls concerning positions using the distance units as an extra parameter.
- enable implementing body coordinates directly from Python scripts. Add new API calls and a full script example with data files.
- add chromatic aberration shader, together with a slider in the preferences window to disable it or control the amount.
- enable proper motion for single particles, fix issues with tracking.
- add (partial) support for glTF, binary glTF and embedded glTF.
- add support for ambient occlusion sampler (standalone and with metallic and roughness channels) in PBR normal and tessellation shaders.
- support 'standard' PBR attributes in OBJ loader.
- add (hidden) attribute "renderParticles" to star and particle sets to disable the rendering of particles and stars for that set.
- add aliases to label position for pc and Km, remove unnecessary operations from shape updater.
- add keyboard mapping and action to multiply the camera movement speed (mapped to 'Z' by default).
- add actions and key bindings to toggle the camera mode and the cinematic behaviour.
- support translation in Km with the 'translateKm' attribute.
- directly support archetype names in JSON data format, additionally to the legacy class names.
- enable affine transformation support for shape objects.
- add warp mesh file selector to preferences, to select the warping mesh for the new spherical mirror projection. Fix layout for file choosers in frame and screenshot locations.
- add support for the spherical mirror projection in planetarium mode.
- add upscale filter setting to preferences, add XBRZ upscale shader, filter and effect.
- expose upscale filter setting to UI via a select box in the preferences window.
- non user-prompted events (download fail, checkum error, etc.) create persistent notifications which need to be closed manually. Persistent notifications are accompanied with a close button to indicate they need to be closed manually.
- add parallax demo script.
- separate height scale from elevation multiplier in shaders. Decrease step of some sliders.
- enable arbitrary parameter map injection in data loaders.
- add
fadeDistanceUp
and fadeDistanceDown
to trajectory objects to control the fading distances when a body is present.
- add animations to all UI elements, add animation time to settings.
- add in/out animations to gamepad GUI and maximize/minimize to debug and focus interfaces. Add animation time as a new setting in settings file. Promote date dialog to generic dialog.
- add size attribute to ray-marching effects, enable absolute predicted positions for ray-marching effects, instead of only a static position.
- add per-vertex colors (instead of per-segment) to polyline quadstrip renderer for smooth shading.
- add shortcut to settings in context menu.
- more on input.
- add ambient level and color to individual models.
- add 'fixed angular size' support for star datasets. It renders all stars with a fixed angular size. In the case of variable stars, if a fixed angular size is set, the variability is expressed via the opacity.
Bug Fixes
- slider texture filtering issue in green, blue, orange and red themes.
- star surface shader crash when motion blur is on.
- non-canonical OpenGL parameters in some configuration calls.
- headless mode crashes on start.
- star billboard and quad positions in stereo mode.
- absolute position method in particle set does not guard against null parameters. Fixes #710.
- dataset manager layout, especially on low-resolution displays.
- move hardcoded billboard galaxy threshold to model initializer.
- single star rendering from afar, spherical position determination, graph update sequence for proper motion and other objects, bypass area and loc update when components are off, camera position lock for stars in star sets.
- several issues with single star rendering and magnitude initialization.
- add mechanism to automatically disable certain post-processing effects on certain render modes (e.g. light glow on panorama/planetarium mode).
- internal dataset loading operations out of order: move scene graph insertion before set-up.
- enable model-less shape objects for label-only use cases.
- removing objects with children only effectively removes the first children, leaving orphan objects in the scene graph which do not get updated but get added to the render lists.
- removal of an object from the graph does not remove its children.
- normals, bi-normals and tangents in icosphere creator.
- crash with static light models, file filter in dataset loader.
- cloud virtual textures not working due to missing shader attribute.
- crash loading wrongly constructed cluster file.
- trail attribute of orbits not always working. GPU non-trail orbits not working.
Code Refactoring
- use solid angle component instead of hardcoded variables for star cluster thresholds.
- move 'forceLabel' attribute to Label component.
Build System
Documentation
- add package descriptions, refactor API interfaces to own packages.
- improve documentation of some API calls.
- update AppStream metadata file with proper id and screenshots.