Skip to content

Move the voxel and water shaders onto the shared include library - #97

Merged
CanReader merged 10 commits into
Advanced-Shadersfrom
feat/shader-includes
Nov 9, 2026
Merged

CanReader merged 10 commits into
Advanced-Shadersfrom
feat/shader-includes

Conversation

@CanReader

Copy link
Copy Markdown
Owner

Uses the engine's new include library and per-frame data (SleakEngine#232).

  • Voxel, water, flat and GL lighting shaders include sleak/shadow_light.glsl and sleak/frame.glsl instead of carrying their own copies of the shadow light block.
  • Water reads time from uFrame.Time; the water material no longer smuggles the game clock through its tiling.
  • The build compiles game Vulkan shaders against both include folders (GameShaders target), so an engine include change rebuilds game SPIR-V too, and stages them over the committed copies. scripts/compile_shaders.sh passes the same include paths. Configuring fails if the game tries to shadow the engine's include/sleak/.
  • CI checks committed game SPIR-V against include changes (including Engine pin changes) and validates the GL shaders.

Vulkan captures of the four fixed views are byte-identical. On OpenGL, only water pixels change (lake and hill views), because water now runs on the engine clock instead of the game's summed frame times; with the old clock restored the GL captures match too.

The Engine pin moves to the engine merge commit once SleakEngine#232 lands.

@CanReader
CanReader merged commit 88559fa into Advanced-Shaders Nov 9, 2026
8 checks passed
@CanReader
CanReader deleted the feat/shader-includes branch November 9, 2026 10:40
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant