This week brought some more progress across rendering, aircraft systems, and scene quality.
Grass System - GPU-Driven Renderer
The vegetation system has been rebuilt around a fully GPU-driven pipeline that replaces the older geometry shader approach.
Rather than the CPU deciding what grass to draw, a compute shader now runs first and does all the culling work on the GPU - checking each potential blade against the camera frustum, density settings, and road/runway exclusion zones before writing only the surviving instances into a buffer. A second pass then draws exactly what survived, with no data needing to be sent back to the CPU. This means the GPU is doing far less redundant work each frame, and draw calls are issued indirectly with instance counts determined entirely on the GPU side.
Road and runway exclusion is handled by passing spine segment data from the terrain system directly to the GPU each frame. Grass density fades smoothly across the transition zone rather than cutting off abruptly at the edge of a road or runway.
Two grass rendering modes run in parallel - a mesh-based mode using a real 3D grass asset with albedo and normal map textures for close-range detail, and a billboard mode using crossed quads for coverage at distance. Both share the same culling stage and respond to wind, engine jet wash, and the quality settings in the options menu. Draw distance scales with quality preset, and tile count is capped to keep worst-case GPU load predictable.
Livery System - Per-Material Texture Overrides & Marketplace Export
Aircraft now support a full multi-livery system built into the editor.
Each aircraft has a factory default livery plus any number of named custom paint schemes. Each livery independently overrides textures and material properties - diffuse, normal, metallic, roughness, and ambient occlusion - on a per-material basis. Switching between liveries reloads the relevant GPU textures in place with no restart needed.
The editor exposes a paint scheme picker alongside per-material texture browsers and PBR sliders. Liveries export as self-contained .wslivery packs that embed texture data directly, so packs work on any machine without requiring the original texture files to be present. Packs can be uploaded to the marketplace with preview images directly from the editor.
Aircraft Hot Reload
When a new aircraft is downloaded, it is registered and appears in the spawn menu immediately without requiring a simulator restart. This cuts iteration time significantly for anyone testing or modding aircraft.
Airport Lighting
Runways and taxiways received a lighting density pass with additional light placements along edges and centerlines, bringing nighttime airport operations closer to real-world standards.
Sky & Atmosphere
The sky shader uses a physically-based atmospheric model that simulates Rayleigh, Mie, and ozone scattering. This week is improvements focused on the night and twilight rendering paths - the transition between day, twilight, and full night is now more natural, with better star field visibility, improved Milky Way rendering, and a more accurate moon disk with phase-dependent shading. The golden-hour glow at the terminator and the horizon haze have also been refined.