u/panic_in_the_galaxy

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.
reddit.com
u/panic_in_the_galaxy — 4 days ago

  • Fixed Simspeed console command that was accidentally broken by the DMZ removal.
  • Removed PbrUpdater for particles. This was effectively a debug shader used to hard code Pbr values when initally getting PBR particles working.
  • Fixed particles not rendering correctly with MSAA enabled.
  • Refactored Particle mesh buffers into their own directory to help with readability.
  • Removed left over reference to PbrUpdater.comp from DefaultAssets.xml.
  • Allow passing IDs by span when finding objects in a LookupCollection.
  • Avoid a crash in distant sprite rendering if a vehicle somehow ends up at the center of the sun.
  • 10x all decoupling and undocking forces to better match current typical vehicle masses.
  • Ensure FlightComputer is updated when input events are processed.
  • Particles are now reset when loading a save. Previously emitters active from before loading a saved game would persit into the list of emitters registered to the renderers and compute pipelines, after loading a save.
  • Fixed vehicle highlighted part not resetting when changing vehicles.
  • Imported new light parts and inline battery parts. The lights are set up to emit light but not to consume power yet. The inline batteries are not set up yet. The lights do not have their animations set up yet.
  • Fixed smearing present on particles caused by render data not properly multi-buffered.
  • Cleaned up particle buffer pool to improve code readability.
  • Changed Pbr particle file names from PBR to Pbr.
  • Configured two new inline batteries and 3 new lights for electrical system.
  • Reworked the punctual light system by replacing the old forward per-light loop for point and spot lights with a compute-driven clustered lighting path. The old way was causing a lot of register pressure on the GPU.
  • Added GPU light culling using pre-pass depth down-sampling, coarse/fine cluster binning, and bitfield resolve.
  • Added an irradiance pre-pass compute shader to move per-light calculations out of forward fragment shaders.
  • Merged PointLight and SpotLight into a unified Light struct with ELightType and static factory methods.
  • Reduced LightShaderData to 64 bytes by moving shadow data to a separate indexed buffer.
  • Adjusted PBR functions in Lighting.glsl to take precomputed values, many of these were being reused in other locations.
  • Added ILightSystem interface for interchangeable lighting processes.
  • Updated mesh fragment shaders to consume the new irradiance pre-pass output.
  • Replaced the fixed-grid shadow atlas with TextureRectPacker, using Skyline Bottom-Left, Waste Minimization, and Best-Node Fit packing for variable-resolution shadow tiles that adjust based on visibility.
  • Moved the shadow atlas to DepthRenderTexture dynamic rendering instead of the framebuffer setup.
  • Added IShadowCasterProvider to decouple shadow rendering from mesh systems.
  • Added CpuPhaseTimer for profiling shadow caster preparation and draw phases.
  • Packed UVs into the W components of position and normal vectors in vertex shaders.
  • Updated ShaderModuleUtils to initialize from the Vulkan version and select the appropriate SPIR-V target version for shader compilation.
  • Added support for SimpleShaderStages to compile ShaderReference variants with macro definitions.
  • Added startup configuration for LightSystem shadow settings.
  • Added runtime-adjustable LightSystem settings without requiring a game restart.
  • Added a RayQueriesSupported check before adding acceleration structures to the global descriptor pool.
  • Since we have set our vulkan version to 1.3, I have swapped out some of the device extensions in favor of VkPhysicalDeviceVulkan13Features (Vk1.2 path still exists if needed).
  • Removed the legacy LightSystem, LightCollection, IShadowCaster, and related GLSL files.
  • Removed CreateNewShaderCompileOptions from VkUtils in favor of the new ShaderModuleUtils version.
  • Removed setting for Vessel shadow size as it is no longer used.
  • Changed setting for VesselShadows bool to VesselCascadeShadows to be more descriptive.
  • Changed the InputEvents to only reset the flight computer ONCE per vehicle each frame.
  • Fixed an incorrect early out causing Kittens to not cast shadows from lights
  • Increased the shadow casters per pixel in light prepass to resolve visible clusters on Kittens
  • Added Battery capacity and total charge stored info to the Resource Window UI.
  • Pbr particles now support Pbr textures. Previously they were just solid colors however now particle emitters can have a pbr material assigned to it which the particles will use.
  • Pbr particle mesh buffer now also supports UVs, instead of just position and normals.
  • Particle Renderer can now have additional descriptor sets and descriptor set layouts added on creation. This allows for an easy way to build ontop of existing renderers, without needing to add bloat to the project for minor changes. As a result the PbrRenderer now binds teh Material and Texture systems.
  • Refactored how particle data is handled in shaders. ParticleShared.glsl now stores all relevant particle data structs, instead of redefining the same structs repeatedly inside any shader that might use them.
  • Added New stop sounds for default engine cluster sound.
  • Fixed Interior ambience was using wav instead of ogg for file format.
  • Added extra rumble layer for engines when inside capsule.
  • Added capsule vibration/rattle sounds for Iva perspective, these are driven off the vessles dynamicpressure.
  • Cleaned up how MaterialIndex is passed into Pbr particle fragment shader.
  • Fixed Iva ambience could stop playing when changing timewarp.
  • Fixed Iva engine rumble volume.
  • Fixed missing bool on Irradiance rebuild
  • Fixed inconsistency between how ParticleMeshBuffer and PbrParticleMeshBuffer were setup.
  • Updated debug particle code in Particle Emitter Manager.
  • Add screen-space search for ocean refractions. Use search method based on the paper "Ultra-fast Screen-Space Refractions and Caustics via Newton's Method". Since the original method is unstable around complex geometry and normal discontinuities, use smoothed/simplified normals and fall back to the previous UV distortion method when needed. This looks plausible and more realistic than the previous refraction method but is not physically accurate. This is currently used by ocean refraction and is intended for exhaust refractions as well.
  • Fixed sound file load failure on case sensitive OS's. ie. Linux.
  • Removed unused macro and specialization constant out of raytracing pipeline.
  • Added animations for the new lights so you can spin them.
  • Added Light switch states to save files. Persistence is key.
  • Fixed the vehicle highlighted part not resetting when changing vehicles - Correctly this time.
  • Added ability to highlight and open part windows for any vehicle that is in the camera's view - not just the actively controlled vehicle.
  • Fixed highlighted part on vehicle remains highlighted after switching to another vehicle and back again.
  • Added option for spawning particles on the surface of a mesh. This is a very basic implementation that is expected to be built upon in the future.
  • Particle emitters attempting to spawn on the surface of a vehicle will check the size of the part, against the emitters extent X and Y values, allowing an easy way of skipping small parts on the vehicle from having particles spawn on them.
  • Cpu performance improvements with setting up draw calls for light shadows with the Kittens
  • Compress Milky Way texture from 4.5MB to 500KB. This reduces VRAM.
  • Fix Milky Way texture generating mips when it wasn't suppose to due to a syntax error in the XML.
  • Fix Milky Way quality setting not affecting fbm iterations. Fbm iterations is now the setting number instead of hardcoded to 7.
  • Do a quick optimization on the Milky Way shader a by reducing the expensive cloudNoise() function calls from 4 to 3. The existing 3 cloudNoise() function calls are used to fix the seam instead of adding a 4th. This will increase performance by about 15%.
  • Added a quick cheaper shader code option using 2 cloudNoise() function calls instead of 3 in case we need it for better performance (commented out). The result looks almost as good, so it is commented out. This option increases performance by about 25%.
  • Fix BRDF texture generating mips by accident due to an XML syntax error. We only need the first mip of the BRDF texture as we are sampling the values as is for lighting calculations, we are not displaying the texture on the screen or doing anything that requires mips.
  • WIP setup for particles to be oriented along the spawned normals, when spawning particles onto a surface.
  • Particles can now fail when spawning. Previously when trying to spawn a particle on the surface of a vessel, if a valid position could not be found, the particle would be spawned at 0,0,0. Now it will just not spawn a particle.
  • Consolidated common emitter spawn logic into a common base function. This is not a requirement for emitter spawn logic, and should not be expected to be used, however it removes alot of bloat from repeating the same logic.
  • Added new particleSpawnPreset for spawning based on the surface normal. This sets the velocity to initally push outwards and away from the vessel. While it may be setup in the future to work with other emitter spawn logic, it currently only works with the VehicleSurfaceEmitter logic as other emitters don't output any normals.
  • VehicleSurfaceEmitter spawn logic now tries to skip surfaces facing 'forward' or 'back' relative to the vehicle. This is a very hacky implementation and should be setup properly in the future, however it distributes particles onto the expected areas better. This implementation is expected to be cleaned up and just temporary.
  • Properly setup raytracing renderers descriptor pool. This was given some placeholder values previously, which were way over allocating.
  • Fixed raytracing renderers descriptor pool not freeing descriptor sets properly causing the game to crash if rebuilt too many times (~30+).
  • Reduced complexity of CpuPhaseTimer which is used for profiling cpu execution times.
  • ByteSizes now show correctly in Light debug menu
reddit.com
u/panic_in_the_galaxy — 8 days ago

  • Fixed SoundFiles not getting assigned to their soundgroups.
  • Removed ParticleMeshData from ParticleEmitterRenderer as it is now redundant.
  • Removed CPU->GPU dependency when destroying particles. This now results in a stable framerate when simulatenously destroying ~2 million particles. This is not a perfect solution however it is substantially faster than the current implementation.
  • Added Custom audio ChannelGroups can now be defined in xml. Custom groups must declare a parentId, which can either be another custom group or one of the static groups (Master, Sfx, Ui, Music).
  • Updated Existing sounds to point to new custom groups where appropriate.
  • Fixed Rcs sound group setting was causing audible popping due to having no mutefadeSpeed set.
  • Fixed bug with particles that spawn overtime not reusing particles correctly.
  • Fixed Keyframe Animation not applying itself when it is created causing the visual state to not represent the animation state.
  • Extraced particle renderer and updaters into interfaces so that more custom emitters can be created.
  • RaytracingRenderer no longer uses the RenderGlobals descriptor pool. This means that acceleration structures no longer need to be allocated when raytracing is disabled.
  • Particle system refactor to use generics for particle data. This provides more flexibility in how particles can be created instead of relying on a single set of render and update data.
  • Add a separate exhaust template for the A1's plume to make it visible: A1's exhaust density is much lower than other engines, but it's exhaust temperature and velocity are much higher, use a different configuration with a higher emission value. Scaling emission by temperature was attempted but the values varied extremely between sea level and vacuum making the brightness inconsistent, this is only an issue with extreme values such as on the A1
  • Better match the point light brightness and color to the exhaust plumes
  • Fixed scenario where particle emitters might not spawn correctly due to nextParticleIndex.
  • Particle system cleanup removing redundant variables and minor optimizations.
  • Added particle mesh buffer interface. This allows for binding particles with only the required data, e.g position only without UVs or normals. Additional mesh buffers can easily be created to bind any required data.
  • Added virtual OnPartCreated() method to Module base class. This can be override by modules that require it to initialize references to part/subpart modules as it will be called once all Modules and subPart Modules have been created.
  • Added SolarTracker part Module. It's job - track and rotate to face the part to towards the Current Systems Star. We still need to add ability to rotate only some of the Part - for now it rotates the whole part.
  • The Solar Tracker will use the KeyframeAnimation - via supplemental rotation setting if there is a KeyframeAnimation module on the part. Otherwise it will perform the rotation of the part itself.
  • Added supplementalRotation to the KeyframAnimation module so we can supply a supplemental rotation (eg: solar tracking rotation).
  • Changed SolarPanel module to identify and use KeyframeAnimationModule state to determine if the SolarPanel is active or not.
  • WIP Optimizations to how particle emitters spawn using 'OverTime' or 'Endless' spawn mode.
  • Milky Way shader v1. Currently a disabled checkbox option under "view -> debug -> show milky way (last item)". For the first layer of noise, a blurred cubemap texture is used to get the color gradients, then layers of cloud noise of different frequencies are applied on top to get detailed noise.
  • Remove old stars irradiance descriptor layout from GlobalShaderBindings
  • Added initial screenspace particle collision implementation using depth and normals from the prepass.
  • Refactored particle renderer and updaters into their own seperate directories.
  • Added temporary hardcoded collision values to ParticleEmitters.
  • Set tighter bounds for the plume while respecting the turbulent noise
  • Add NaN guards for the cloud shaders
  • Added Convolution Reverb for sounds that are playing near an atmospheric body surface.
  • Added Support for adding dsp processing to ChannelGroups via xml.
  • Added XMl support for creating: Send, Return, MultibandEq, Compressor, Delay, ConvolutionReverb.
  • Changed BiomeSoundController is now owned by the viewport rather than the Controller.
  • Fixed some popping issues coming from starting playing engine cluster sounds.
  • Fixed validation error on startup caused by particle emitter manager creating the wrong ParticleUpdate type for screenSpaceCollisions.
  • Added ability to change the focus of the orbital camera to different parts of the current vehicle via the part UI windows.
  • Added Audio Filtering effect of external sounds when in Iva camera mode.
  • Changed Dsp parameters are now handled in a generic fashion at the base class level.
  • Added ability to exclude a list of subparts from solar tracking animation in the SolarTracker module.
  • Added additional raytracing resolution settings. Previously a single raytracing resolution setting was offered which controlled all raytracing outputs. Now the resolution of each output from the raytracer can be controlled individually. This can provide huge optimizations by reducing certain less noticable outputs while being able to keep more visible outputs at full resolution.
  • Raytraced materials that have a high roughness value no longer contribute full reflection bounces and will exit early if possible.
  • Cleaned up particle mesh buffer implementation to calculate buffer sizes correctly.
  • Added Iva ambience loop.
  • Improved mix of Iva audio perspective.
  • Added Volumes of ChannelGroups can be authored in xml.
  • Changed More polishing to Iva audio perspective, improving transition across atmospheric density levels.
  • Changed Reduced environment ambience volume when in Iva mode.
  • Particle emitters now update after the main render pass. This means that they have access to the depth buffer for any update compute shaders that may need it. As a result the screen space collisions now work on all surfaces that have written to depth already, instead of meshes that wrote into the prepass renderer.
  • Moved the KeyframeAnimation part UI window processing to match other modules with buttons before information.
  • Added the Hapke lighting model.
  • Improved planetary lighting model - added cheap blend between Hapke and Lambertian-like models via the shadowing factor, since Hapke is only valid for powders.
  • Added two new planet maps 'Scattering' and 'Surge'. Scattering stores RGB = Powder-ness, b, c and Surge stores RGBA = Bc0, hc, Bs0, hs.
  • Added 'MeanSlopeRoughness' parameter (Hapke's Theta) to the surge texture reference.
  • Added scatter and surge maps for Earth and the Moon.
  • Added default scatter and surge maps for non-powdered materials.
  • Added default scatter and surge maps for regoltih (specifically the Moon's regolith).
  • Added the hapke shading model to the distant sphere renderer.
  • AddedHapkeScatteringReference which owns MeanDiffuseLuminosity and MeanAlbedo parameters for the hapke shading model. MeanDiffuseLuminosity is gamma corrected at runtime and used to normalize the diffuse texture before being multiplied by the MeanAlbedo in the shader. In theory this should result in the correct albedo for each celestial body. Note that currently the light intensity does not fall off with distance from the Sun, so the reflectance is too high.
  • Added default hapke scattering and surge textures to HapkeScatteringReference and HapkeSurgeReference respectively.
  • Added hapke maps and paramaters for Earth, The Moon, Mars, Venus, Phobos and Pan. All other celestial bodies fall back to default maps and parameters.
  • Change volumetric exhaust sampling strategy to place more samples near mach diamonds when they are active, this highly reduces artifacting/pixelation on exhausts which can be especially visible when looking from the rocket towards the plume when the plume is expanded
  • Moved GetLlaFromCcf() from Celestial to IParentBody.
  • Draw physics debug info even when around the Sun.
  • Added Mu to IParentBody and consolidated uses from Celestial.
  • Increased tolerance on SafeAcos() and SafeAsin().
  • Small improvement to Orbit.Hyperbolic.GetTrueAnomaly(Radius) which reduces the intermediate quantity magnitudes to improve precision.
  • Handle a flight plan escape logic case where the orbit is entirely outside its primary's SOI.
  • Handle the corollary bad case in vehicle physics where the escape time is in the past.
  • In plume length calculations, handle the case where the target density is higher than the exit plane density.
  • Fixed a regression where the flight computer was not being notified when engines were activated/deactivated.
  • Added a tooltip condition for the auto-burn button for when no engines are active (previously this would show up as "no burn duration").
  • Cull vehicle rendering based on apparent size, not hard distance. This should make vehicles smoothly transition from distant sprites to fully-rendered objects.
  • Cleaned up how particle mesh buffers initalize buffer sizing.
  • Added low poly sphere mesh for use with particles. Previously thruster and decoupling particles used a sphere mesh with 4K tri count, their new mesh has only 80 tris, this may need to be reviewed but the current usecases are small enough that there is no quality difference.
  • Reenabled writing to depth for particles.
  • Particle buffer memory is now set to prefer gpu memory as previously it was undefined.
  • Milky Way shader v2. Fixed most of the clouds seam using noise. This seam occurs due to the cloud noise needing to wrap around at the ends of the cylindrical projection. Changed the texture from rgba32f to rgba16f format to reduce vram and found no visual difference.
  • Added GalacticPlane transform to the XML. Used the GalacticPlane to transform the Milky Way to be in a more realistic position.
  • Revert Milky Way seam fixup code for the cloud noise as it looks worse.
  • Rename Milky Way texture to follow the naming convention of other textures.
  • Add Milky Way shader code to narrow the band so that it doesn't take up too much of the screen.
  • Fix seam in cloud noise. This seam occurs due to the cloud noise needing to wrap around at the ends of the cylindrical projection.
  • Changed interior ambience sound to be less mid heavy.
  • Reworked settings on interior reverb.
  • Reduced volume of engines when in IVA mode.
  • Added WIP PBR particles. This is currently not used by any existing particles emitters.
  • Particle Emitter Torus preset now has an option for the length of the torus.
  • Cleaned up particle PBR data. This was previously explicitly named as roughness, metallic and ao, however for particle renderers that do not use PBR data these values do not make sense. This has been changed to a float4 in ParticleRenderData which can be reused for other renderers.
  • Add Milky Way Quality setting. The Milky Way now has its own quality slider in the Graphics menu. The Milky Way fragment shader generates a realistic Milky Way visualization per pixel using cloud noise (fbm noise and ridged noise). This gives a much better result than using a texture.
reddit.com
u/panic_in_the_galaxy — 9 days ago

Version 2026.4.18.4206

  • Added Ap and Pe markers to Lvc orbit plot in the Target Track Window.
  • Added scale markers and scale readout to Target Track Window.
  • Cleaned up particle emitter systems in preperation for refactor of how particles are rendered.
  • Added Gpu debug label when particle states are updated.
  • Added up to 4 burn patches into the Target Track Window plots.
  • Fixed particle emitters incorrectly setting active particle count when updating maximum particle count.
  • Added loading tag when initalizing particle resources on load.
  • Added scaled zooming on the Target Track Window.
  • Added Mouse wheel zoom in and out on the two panels on the Target Track Window. Double click middle mouse button to reset the zoom level.
  • WIP particle rendering refactor.
  • Added right click dragging on the two plot windows in the Target Track Window.
  • Added closest point to mouse tooltip in Target Track Window.
  • Added Zoom menu items to top bar of TargetTrackWindow in addition to the mouse scrollwheel input already in place.
  • Added bool to indicate if KeyframAnimationModule should treat animation as a deploy/retract type. In this case it will display a deploy and retract button and state in the part window instead of an animation slider.
  • Added SolarPanel module to deployable solar panel. Note: Still to come, actual sun tracking.
  • Add back mach diamonds, use physical formulas from literature where possible for the length of the shock cells and the diamond's size and visibility
  • Use a LUT for diamonds shape/density and structure inside shock cells to get smoother and more interesting results than the purely procedural version, sample blurred versions when diamonds are less visible. Allow the lut to be rescaled when the diamond's radii rescale
  • Add computation of mach disk start radius from middle radius and area ratio, set middle radius arbitrarily
  • Add contractions and expansions for overexpanded and underexpanded plumes, still missing the effect of an immediate contraction into a single mach disk for highly overexpanded plumes
  • Fade out mach diamond and shock cells when the plume doesn't expand/contract a lot
  • Add a barrel shock on the outside of the plume, more tweaks needed for the appearance. Use Rankine-Hugoniot conditions to estimate mach diamonds density and barrel shock density
  • Add a more turbulent noise to the plume when in-atmosphere which can push it off axis, gives a more natural less rigid appearance
  • Add a fake way to make RCS plumes "burn clean" when in the atmosphere, this will replaced with a more physical formula
  • Move some of the clutter out of the main exhaust shader and into include files
  • Optimized how particles are destroyed to remove redundant loop through particles.
  • ParticleEmitterRenderer cleanup and minor optimizations.
  • Fixed DistantSphereRenderer not disposing correctly on shutdown.
  • Fixed Imgui Bug in display of Tank Ids in Debug Vehicle Editor UI.
  • Removed redundant particle emitter list from particle renderer.
  • Fixed the Keyframe Animator breaking mouse hover detection.
  • Set up the surface connectors for the two solar panels. This should make using them in the editor far easier.
reddit.com
u/panic_in_the_galaxy — 15 days ago