▲ 57 r/kittenspaceagency
Version 2026.5.6.4337
- Optimized the hapke lighting. Simplified or factored out all trig functions (multiple instances of sin, cos, tan, acos) and ensured variables needed multiple times in different equations are only computed once. All that remains is an unavoidable atan2 which is pretty cheap. The tangent of mean slope roughness is now computed and passed to the planet UBO in place of the raw mean slope roughness, since only the tangent is used in the literature. All equations still follow the literature exactly, so the lighting should be identical.
- Increased the strength of the Moon's surface textures' normal maps from 60% to 80%, making it look more powder-like.
- Fixed imgui UI error in set orbit debug menu showing the Sun twice.
- Clean up Milky Way shader code. Settings have been added at the top of the shader to modify how the Milky Way looks.
- Added WIP launch debris particle emitter in XML. This is not setup to execute in game yet.
- Particle spawn on surface logic now offsets the start position slightly based on the normal. This helps to prevent particles from spawning 'inside' of vehicles.
- Fixed some sync hazard validation errors for Atmosphere, Clouds and Ocean
- Fixed an issue where the vehicle update task was not updating engines correctly after staging or altering the rocket due to an issue with how it is handling global engine state. It's a temporary bandaid, the side effect is the worker task will run more often than it should for updating the engines.
- Remove redundantly clearing caches twice.
- Sort the Activation InputEvent processing so we handle in this order: Decouple, Engine Controller, Thruster Controller.
- Fixed camera state deserialization loading save games. If no previously controlled vehicle was set in the save, tghe camera would not correclty deserialize.
- Particle emitters can now sample the color of the terrain. While not currently used for anything, this is important ground work for dirt and debris when vehicles crash into the planet. As part of this change, new fragment and compute shaders have been added for this.
- Cleaned up and reviewed how particle data was getting packed, this allowed us to remove some redundant packing data, aswell as abstracing some variables that were previously explicitly named for a specific function, when the parameters should be treated as generic data used in the compute shader and should not have had explicit usages in their parameter names. (All emitters had parameters for screen space collisions when only one particle updater used that data for collisions).
- Renamed the particle updaters in ParticleEmitterManager from ComputePipeline to Updater to follow the naming convention of the Renderers.
- Added ParticleUpdateShared.glsl, this contains common functions for the compute shaders to prevent code bloat.
- Made LightDebug Spawner available in production build
- Added more debug spawn options for lights
- Fixed handling of invalid vehicle saves when attempting to launch them from the launch menu UI.
- Added WIP PlanetImpact particle emitter in XML. This is not currently used anywhere, and will be a usful reference when we do implement impact particles properly.
- Fixed issue where if you tried to use the F7 Vehicle save dialog in the vehicle editor to save your vehicle, you ended up with an empty/invalid vehicle save.
- Major refactor of gauge editing first pass. This system replaces the old and broken gauge editor. This system allows the live editing of gauge information in prep for saving out as XML changes. Includes handles for resizing, moving pivots and anchor points. This is done via the Gauge Hierarchy and Inspector windows. Additional work remains to full functionality. This should also enable gauge position saving/loading between sessions in future.
- Fixed UI jitter at low frame rates.
- Added visibility of burn markers in Target Tracking Window.
- Added ability to create and modify burns in the Target Tracking Window.
- Fixed vehicle lists and view/projection matrices not being updated for a frame after loading a save.
- Consolidate burn editor UI between main viewport and target tracker into one function.
- Fixed the timing of when we process the exit from the debug vehicle editor vs the vehicle worker threads causing conflicts and bad data, which resulted in lots of red console messages in some cases depending on what you did in the vehicle editor.
- Updated all part emissive textures with fewer mips so there's less bleed as you zoom out from parts. Also changed to BC4 compression from BC7 since it seems to be only greyscale for now.
- Updated CoreElectricalA's diffuse and PBR textures.
- Updated CoreFuelTankA's PBR texture.
- Add ImguiHelper.DrawDiamond function.
- Changed TargetTrackWindow to use DrawDiamond.
- Added initial implementation of volumetric particles. This is not implemented into any particles current, however the core framework is there when needed. A basic volumetric particle has been defined in XML for reference later.
- Refactored the screen space collisions particle updater to transition the depth image after updating particles, as previously this was handled externally by the particle emitter manager.
- ParticleEmitterRenderer now takes the depth stencil state and color blend attachment as an input on construction. This means that the volumetric particles are able to still use the same ParticleRenderer as all other particles, helping to reduce code bloat for specific rendering systems.
- Particle Emitter Manager now renders opaque and translucent particles seperately, previously all particles were renderered through the same function, however there is are now specific opaque and translucent functions.
- Renamed particle shaders to remove 'Frag' and 'Vert' from the shaders names. They are already denoted with '.frag' and '.vert' so this was unnecessary.
- Added initial volumetric particle shaders.
- Fixed Vulkan validation error caused by screen space collisions returning early when no emitters are registered to the system, resulting in depth image not transitioning correctly.
- Fixed particle emitter 'extra' data not getting set from XML correctly.
- Added ability to change the number of orbit periods to show in the Target Tracking Window.
- Added support for billboarded particles.
- Added basic plane mesh for use by billboarded particles.
- Refactor of Gauge UI editing second pass. Added fit/stretch to component and rect as a context menu item. Also includes new approach to adding rect instances on Components that is context sensitive, better reflecting the actual use case.
- Changed SerializeWithoutNaN streamwriter no longer disposes the callers memorystream so that it can be utilized by the caller.
- Refactor Third Pass of Gauge Editing. Now you can multi-select gauge elements in the hierarchy with standard selection conventions (CTRL for non-contiguous elements, SHIFT for continguous). Introduced an intermediate transform type to handle scaling for these selections.
- Fixed crash when setting range to 0 when using the Light Debug Spawner
- Added small padding to the light range when culling meshes to avoid flickering shadows.
- Fixed regression in gauge editor that would reset pivot/anchor when using the stretch/fit context menu elements.
- Added context menu item for gauge elements in hierarchy to allow reseting pivot, and switching anchor points to cardinal points on parent.
u/panic_in_the_galaxy — 4 days ago