acdream/src/AcDream.App/Rendering/Shaders
Erik 0dac024cdb feat(sky): the night sky wheels with the Dereth clock; uniform time fade with a scoped twilight band
Rotation (user-directed): the procedural starfield rotates once per
Dereth day (~2 real hours - constellations visibly wheel through a
night) about a celestial pole ~41 deg above the northern horizon, plus
dayOfYear/360 of seasonal drift so the 360-day year changes the night
sky. One SkyParams float (272-byte block, layout test re-pinned)
carries dayFraction + dayOfYear/360 from the world clock; sky.frag
applies a Rodrigues rotation to the sample direction so stars and
mottle turn together. Impossible with retail's static stretched layer.

Fade rework (the 2026-08-23 two-screenshot gate finding): the
per-vertex vTint signal carried the sun-facing product and blanked
stars across the entire twilight half of the sky. The fade now reads
the UNIFORM ambient term - identical star visibility in every compass
direction, same dusk-to-dawn schedule - with one deliberate exception:
a thin suppression band hugging the low sky toward the sun's azimuth
while the sun term is strong, so stars still wash out inside the
actual twilight glow.

Guards updated (rotation anchor, uniform-fade anchor, 272-byte layout);
both sky SPIR-V hashes re-pinned.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-08-23 18:21:17 +02:00
..
spv feat(sky): the night sky wheels with the Dereth clock; uniform time fade with a scoped twilight band 2026-08-23 18:21:17 +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 feat(sky): the night sky wheels with the Dereth clock; uniform time fade with a scoped twilight band 2026-08-23 18:21:17 +02:00
sky.vert feat(sky): the night sky wheels with the Dereth clock; uniform time fade with a scoped twilight band 2026-08-23 18:21:17 +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