acdream/src/AcDream.App/Rendering/Shaders
Erik 9cf15e1f13
Some checks failed
CI / linux-portable (push) Failing after 1m37s
CI / windows-gate (push) Successful in 6m35s
CI / release (push) Has been skipped
perf(sky): ~10x cheaper night-sky lattice — one-round cell hash, 2x2x2 block, bit-sliced stars
The owner measured 63% GPU at night vs 28% by day: the starfield
lattice was the whole difference. Three lossless cuts:
- one packed-multiply hash round per cell instead of ~9 chained PCG
  rounds (position/presence bit-sliced from one result, brightness/tint
  from a second);
- the 3x3x3 neighbourhood sweep becomes the 2x2x2 block around the
  sample — a star's visible footprint (a few px) is far smaller than a
  lattice cell on screen, so any star outside that block is over a full
  cell (>=15 px) away and contributes nothing;
- background mottle drops its invisible third octave.

Same densities, sizes, colours, and look; star positions reshuffle
(procedural layout, not authored). sky.frag.spv re-pinned.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-08-23 18:31:39 +02:00
..
spv perf(sky): ~10x cheaper night-sky lattice — one-round cell hash, 2x2x2 block, bit-sliced stars 2026-08-23 18:31:39 +02:00
atmospheric_bloom_blur.frag feat(render): Atmospheric post stack runs in linear light; neutral preset is numerically the pack-off image (Campaign VM VM3) 2026-08-22 23:10:57 +02:00
atmospheric_bloom_blur.vert feat(render): implement Campaign AR and terrain fidelity 2026-08-22 13:13:29 +02:00
atmospheric_bloom_downsample.frag feat(render): Atmospheric post stack runs in linear light; neutral preset is numerically the pack-off image (Campaign VM VM3) 2026-08-22 23:10:57 +02:00
atmospheric_bloom_downsample.vert feat(render): implement Campaign AR and terrain fidelity 2026-08-22 13:13:29 +02:00
atmospheric_common.glsl feat(render): shader ABI v2 - AtmosphericFrame gains clock/wind blocks; caster pass binds it (Campaign VM VM6a) 2026-08-23 00:30:02 +02:00
atmospheric_filmic.frag fix(render): VM3 review fixes - pin the filmic decodes, re-derive vignette for linear, name the authored sun colour 2026-08-22 23:40:48 +02:00
atmospheric_filmic.vert feat(render): implement Campaign AR and terrain fidelity 2026-08-22 13:13:29 +02:00
atmospheric_sun_occlusion.frag feat(render): implement Campaign AR and terrain fidelity 2026-08-22 13:13:29 +02:00
atmospheric_sun_occlusion.vert feat(render): implement Campaign AR and terrain fidelity 2026-08-22 13:13:29 +02:00
atmospheric_sun_rays.frag feat(render): Atmospheric post stack runs in linear light; neutral preset is numerically the pack-off image (Campaign VM VM3) 2026-08-22 23:10:57 +02:00
atmospheric_sun_rays.vert feat(render): implement Campaign AR and terrain fidelity 2026-08-22 13:13:29 +02:00
atmospheric_volumetric.frag feat(render): Atmospheric post stack runs in linear light; neutral preset is numerically the pack-off image (Campaign VM VM3) 2026-08-22 23:10:57 +02:00
atmospheric_volumetric.vert feat(render): implement Campaign AR and terrain fidelity 2026-08-22 13:13:29 +02:00
debug_line.frag feat(ui): debug overlay + refined input controls 2026-04-17 18:45:38 +02:00
debug_line.vert feat(render): put the retained UI and debug lines on both backends 2026-07-28 08:51:32 +02:00
directional_shadow_common.glsl feat(render): implement Campaign AR and terrain fidelity 2026-08-22 13:13:29 +02:00
directional_shadow_receiver.glsl feat(render): implement Campaign AR and terrain fidelity 2026-08-22 13:13:29 +02:00
directional_shadow_terrain.frag feat(render): implement Campaign AR and terrain fidelity 2026-08-22 13:13:29 +02:00
directional_shadow_terrain.vert feat(render): implement Campaign AR and terrain fidelity 2026-08-22 13:13:29 +02:00
directional_shadow_terrain_multiview.frag feat(render): implement Campaign AR and terrain fidelity 2026-08-22 13:13:29 +02:00
directional_shadow_terrain_multiview.vert feat(render): implement Campaign AR and terrain fidelity 2026-08-22 13:13:29 +02:00
directional_shadow_world_cutout.frag feat(render): implement Campaign AR and terrain fidelity 2026-08-22 13:13:29 +02:00
directional_shadow_world_cutout.vert feat(render): weather-driven foliage wind for procedural scenery, shadows follow (Campaign VM VM6b) 2026-08-23 00:56:34 +02:00
directional_shadow_world_cutout_multiview.frag feat(render): implement Campaign AR and terrain fidelity 2026-08-22 13:13:29 +02:00
directional_shadow_world_cutout_multiview.vert feat(render): weather-driven foliage wind for procedural scenery, shadows follow (Campaign VM VM6b) 2026-08-23 00:56:34 +02:00
directional_shadow_world_opaque.frag feat(render): implement Campaign AR and terrain fidelity 2026-08-22 13:13:29 +02:00
directional_shadow_world_opaque.vert feat(render): weather-driven foliage wind for procedural scenery, shadows follow (Campaign VM VM6b) 2026-08-23 00:56:34 +02:00
directional_shadow_world_opaque_multiview.frag feat(render): implement Campaign AR and terrain fidelity 2026-08-22 13:13:29 +02:00
directional_shadow_world_opaque_multiview.vert feat(render): weather-driven foliage wind for procedural scenery, shadows follow (Campaign VM VM6b) 2026-08-23 00:56:34 +02:00
foliage_wind.glsl fix(render): production packed classifier carries the foliage flags; deferred-alpha replay keeps them (Campaign VM VM6 review 2) 2026-08-23 02:28:17 +02:00
mesh_atmospheric.frag feat(render): implement Campaign AR and terrain fidelity 2026-08-22 13:13:29 +02:00
mesh_atmospheric.vert test(render): foliage-wind receiver fallback guard asserts branch shape; cascade-0 publish covered (Campaign VM VM6 review 5 nits) 2026-08-23 04:19:05 +02:00
mesh_detail.frag fix(render): detail overlay is fogged after the combine like retail; VM1 review fixes 2026-08-22 22:39:58 +02:00
mesh_detail.vert fix(render): detail overlay is fogged after the combine like retail; VM1 review fixes 2026-08-22 22:39:58 +02:00
mesh_modern.frag feat(render): V6e — move the world mesh's texture lookup to where Vulkan can express it 2026-07-28 09:21:22 +02:00
mesh_modern.vert feat(render): Vulkan campaign V11 step 3 — drop the GL packages and shaders 2026-07-29 02:58:15 +02:00
particle.frag feat(render): Vulkan campaign V11 step 3 — drop the GL packages and shaders 2026-07-29 02:58:15 +02:00
particle.vert feat(render): Vulkan campaign V11 step 3 — drop the GL packages and shaders 2026-07-29 02:58:15 +02:00
particle_mesh.frag feat(render): V6e — both particle shaders cross the dialect 2026-07-28 09:26:13 +02:00
particle_mesh.vert fix(ui): restore radar, retail wield switching, and protection meshes 2026-07-14 20:52:45 +02:00
portal_depth.frag feat(render): Campaign V slice V6l commit 2 - the portal mask draws on Vulkan 2026-07-28 17:36:45 +02:00
portal_depth.vert feat(render): Campaign V slice V6l commit 2 - the portal mask draws on Vulkan 2026-07-28 17:36:45 +02:00
sky.frag perf(sky): ~10x cheaper night-sky lattice — one-round cell hash, 2x2x2 block, bit-sliced stars 2026-08-23 18:31:39 +02:00
sky.vert Revert "feat(sky): the night sky wheels with the Dereth clock; uniform time fade with a scoped twilight band" 2026-08-23 18:26:16 +02:00
terrain_atmospheric.frag feat(render): implement Campaign AR and terrain fidelity 2026-08-22 13:13:29 +02:00
terrain_atmospheric.vert test(render): foliage-wind receiver fallback guard asserts branch shape; cascade-0 publish covered (Campaign VM VM6 review 5 nits) 2026-08-23 04:19:05 +02:00
terrain_modern.frag feat(render): Vulkan campaign V11 step 3 — drop the GL packages and shaders 2026-07-29 02:58:15 +02:00
terrain_modern.vert fix(render): Campaign V slice V6i-2 commit 1 — the terrain clip block reaches set 1 2026-07-28 13:31:13 +02:00
ui_text.frag feat(render): put the retained UI and debug lines on both backends 2026-07-28 08:51:32 +02:00
ui_text.vert feat(render): put the retained UI and debug lines on both backends 2026-07-28 08:51:32 +02:00
vk_probe.frag feat(render): Campaign V slice V6c - SPIR-V, pipelines, passes, and a Vulkan frame that draws 2026-07-28 08:17:24 +02:00
vk_probe.vert feat(render): Campaign V slice V6c - SPIR-V, pipelines, passes, and a Vulkan frame that draws 2026-07-28 08:17:24 +02:00