ludic/packages/ludic.render3d/shaders/spv
Orkuncakilkaya b5d13180a6 fix(render3d): the ground keeps more of its own colour, and the rock keeps all of it
55% of every ground pixel was the orthophotograph, at every distance and on every
material. A survey image records WHERE the forest and the scree are well and what a
steep rock face is coloured badly - it is shot through kilometres of air at an angle no
player stands at. The photograph keeps the meadow and the forest and gives the rock back
to the rock, by material and by elevation and never by distance: a distance fade used to
live here and was removed because the photograph has the day's own shadows baked in, so
grass grew dark patches as you backed away and they slid as you walked.

The far tier's rock fallback is the maroon mean, not a neutral grey - TFAST_3 skips the
rock sample and leaves that constant standing in for a whole mountain.

Ortho-classified snow needs altitude now. Bright and unsaturated is what snow looks like
from a satellite and also what a sunlit rock face looks like. Gully snow is gated on the
snow line rather than two absolute heights.

Distance desaturation eased 1.9 -> 1.15: tuned on a valley whose rock was grey anyway.

NOT FIXED, and I want it recorded rather than implied: the Bells themselves are still
not maroon. The near and middle rock is warmer and measurably so, but the distant peak
does not respond to ANY of this - not the rock tint, not the ortho weight, not the snow
line, not the gully gate. Painting sA bright red left it unchanged, so whatever surface
that is, it is not this shader's snow and not this shader's material blend. Somebody
should find out what draws it before tuning any of these numbers further.

400 frames: GL 7.0 s, VK 7.2 s. Backends agree to 0.62/255.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
2026-09-19 16:29:17 +03:00
..
1b654972.frag.spv feat(render3d): the air and the light are the hour's, not one constant apiece 2026-09-19 14:42:30 +03:00
1b654972.vert.spv fix(render3d): Vulkan exposure, foliage depth and meadow alpha 2026-09-15 12:29:24 +03:00
1ce5c5d1.frag.spv feat(render3d): light you can see - sun shafts and valley mist 2026-09-19 16:06:16 +03:00
1ce5c5d1.vert.spv fix(shaders): Vulkan SPIR-V keeps the near half of the depth range 2026-09-15 12:05:43 +03:00
1f95f31b.frag.spv fix(render3d): the ground keeps more of its own colour, and the rock keeps all of it 2026-09-19 16:29:17 +03:00
1f95f31b.vert.spv fix(render3d): Vulkan exposure, foliage depth and meadow alpha 2026-09-15 12:29:24 +03:00
1fde9cd2.frag.spv feat(render3d): the air and the light are the hour's, not one constant apiece 2026-09-19 14:42:30 +03:00
1fde9cd2.vert.spv fix(render3d): Vulkan exposure, foliage depth and meadow alpha 2026-09-15 12:29:24 +03:00
2e2908c8.frag.spv fix(render3d): the ground keeps more of its own colour, and the rock keeps all of it 2026-09-19 16:29:17 +03:00
2e2908c8.vert.spv fix(render3d): Vulkan exposure, foliage depth and meadow alpha 2026-09-15 12:29:24 +03:00
2ee6d2e3.frag.spv feat(render3d): the air and the light are the hour's, not one constant apiece 2026-09-19 14:42:30 +03:00
2ee6d2e3.vert.spv fix(render3d): Vulkan exposure, foliage depth and meadow alpha 2026-09-15 12:29:24 +03:00
3b183d8f.frag.spv feat(render3d): light you can see - sun shafts and valley mist 2026-09-19 16:06:16 +03:00
3b183d8f.vert.spv fix(shaders): Vulkan SPIR-V keeps the near half of the depth range 2026-09-15 12:05:43 +03:00
3e4b62f9.frag.spv feat(render3d): the air and the light are the hour's, not one constant apiece 2026-09-19 14:42:30 +03:00
3e4b62f9.vert.spv fix(render3d): Vulkan exposure, foliage depth and meadow alpha 2026-09-15 12:29:24 +03:00
4a8e9f28.frag.spv feat(render3d): the air and the light are the hour's, not one constant apiece 2026-09-19 14:42:30 +03:00
4a8e9f28.vert.spv fix(render3d): Vulkan exposure, foliage depth and meadow alpha 2026-09-15 12:29:24 +03:00
4be7acd9.frag.spv feat(render3d): the air and the light are the hour's, not one constant apiece 2026-09-19 14:42:30 +03:00
4be7acd9.vert.spv fix(render3d): Vulkan exposure, foliage depth and meadow alpha 2026-09-15 12:29:24 +03:00
4cf96468.frag.spv feat(render3d): the air and the light are the hour's, not one constant apiece 2026-09-19 14:42:30 +03:00
4cf96468.vert.spv fix(render3d): Vulkan exposure, foliage depth and meadow alpha 2026-09-15 12:29:24 +03:00
4d4fa91b.frag.spv feat(render3d): the air and the light are the hour's, not one constant apiece 2026-09-19 14:42:30 +03:00
4d4fa91b.vert.spv fix(render3d): Vulkan exposure, foliage depth and meadow alpha 2026-09-15 12:29:24 +03:00
4dda406a.frag.spv feat(render3d): light you can see - sun shafts and valley mist 2026-09-19 16:06:16 +03:00
4dda406a.vert.spv fix(shaders): Vulkan SPIR-V keeps the near half of the depth range 2026-09-15 12:05:43 +03:00
5e4589a1.frag.spv fix(render3d): the ground keeps more of its own colour, and the rock keeps all of it 2026-09-19 16:29:17 +03:00
5e4589a1.vert.spv render3d(vulkan): the ground reads the sun cascades itself - no separate terrain sun pass 2026-09-15 17:26:39 +03:00
7ed7de52.frag.spv feat(render3d): the air and the light are the hour's, not one constant apiece 2026-09-19 14:42:30 +03:00
7ed7de52.vert.spv feat(render3d): light you can see - sun shafts and valley mist 2026-09-19 16:06:16 +03:00
7f096322.frag.spv feat(render3d): the air and the light are the hour's, not one constant apiece 2026-09-19 14:42:30 +03:00
7f096322.vert.spv feat(render3d): light you can see - sun shafts and valley mist 2026-09-19 16:06:16 +03:00
9d3e2ddd.frag.spv feat(render3d): the air and the light are the hour's, not one constant apiece 2026-09-19 14:42:30 +03:00
9d3e2ddd.vert.spv fix(render3d): Vulkan exposure, foliage depth and meadow alpha 2026-09-15 12:29:24 +03:00
9dce3246.frag.spv feat(render3d): the air and the light are the hour's, not one constant apiece 2026-09-19 14:42:30 +03:00
9dce3246.vert.spv fix(shaders): Vulkan SPIR-V keeps the near half of the depth range 2026-09-15 12:05:43 +03:00
46e2325c.frag.spv feat(render3d): the air and the light are the hour's, not one constant apiece 2026-09-19 14:42:30 +03:00
46e2325c.vert.spv fix(render3d): Vulkan exposure, foliage depth and meadow alpha 2026-09-15 12:29:24 +03:00
79b77ed9.frag.spv feat(render3d): the air and the light are the hour's, not one constant apiece 2026-09-19 14:42:30 +03:00
79b77ed9.vert.spv fix(shaders): Vulkan SPIR-V keeps the near half of the depth range 2026-09-15 12:05:43 +03:00
86f427b0.frag.spv feat(render3d): the air and the light are the hour's, not one constant apiece 2026-09-19 14:42:30 +03:00
86f427b0.vert.spv fix(shaders): Vulkan SPIR-V keeps the near half of the depth range 2026-09-15 12:05:43 +03:00
254e7887.frag.spv feat(render3d): the air and the light are the hour's, not one constant apiece 2026-09-19 14:42:30 +03:00
254e7887.vert.spv fix(shaders): Vulkan SPIR-V keeps the near half of the depth range 2026-09-15 12:05:43 +03:00
428caa3a.frag.spv feat(render3d): the air and the light are the hour's, not one constant apiece 2026-09-19 14:42:30 +03:00
428caa3a.vert.spv fix(render3d): Vulkan exposure, foliage depth and meadow alpha 2026-09-15 12:29:24 +03:00
439a2253.frag.spv feat(render3d): the air and the light are the hour's, not one constant apiece 2026-09-19 14:42:30 +03:00
439a2253.vert.spv fix(shaders): Vulkan SPIR-V keeps the near half of the depth range 2026-09-15 12:05:43 +03:00
858f5089.frag.spv feat(render3d): the air and the light are the hour's, not one constant apiece 2026-09-19 14:42:30 +03:00
858f5089.vert.spv fix(render3d): Vulkan exposure, foliage depth and meadow alpha 2026-09-15 12:29:24 +03:00
01089da8.frag.spv feat(render3d): the air and the light are the hour's, not one constant apiece 2026-09-19 14:42:30 +03:00
01089da8.vert.spv fix(shaders): Vulkan SPIR-V keeps the near half of the depth range 2026-09-15 12:05:43 +03:00
3733fc38.frag.spv feat(render3d): the air and the light are the hour's, not one constant apiece 2026-09-19 14:42:30 +03:00
3733fc38.vert.spv fix(render3d): Vulkan exposure, foliage depth and meadow alpha 2026-09-15 12:29:24 +03:00
9068df1c.frag.spv feat(render3d): the air and the light are the hour's, not one constant apiece 2026-09-19 14:42:30 +03:00
9068df1c.vert.spv fix(render3d): Vulkan exposure, foliage depth and meadow alpha 2026-09-15 12:29:24 +03:00
512004a1.frag.spv feat(render3d): the air and the light are the hour's, not one constant apiece 2026-09-19 14:42:30 +03:00
512004a1.vert.spv fix(shaders): Vulkan SPIR-V keeps the near half of the depth range 2026-09-15 12:05:43 +03:00
638623c2.frag.spv feat(render3d): the air and the light are the hour's, not one constant apiece 2026-09-19 14:42:30 +03:00
638623c2.vert.spv fix(render3d): Vulkan exposure, foliage depth and meadow alpha 2026-09-15 12:29:24 +03:00
676965ab.frag.spv feat(render3d): the air and the light are the hour's, not one constant apiece 2026-09-19 14:42:30 +03:00
676965ab.vert.spv fix(render3d): Vulkan exposure, foliage depth and meadow alpha 2026-09-15 12:29:24 +03:00
725523d9.frag.spv feat(render3d): the air and the light are the hour's, not one constant apiece 2026-09-19 14:42:30 +03:00
725523d9.vert.spv fix(render3d): Vulkan exposure, foliage depth and meadow alpha 2026-09-15 12:29:24 +03:00
74258189.frag.spv feat(render3d): light you can see - sun shafts and valley mist 2026-09-19 16:06:16 +03:00
74258189.vert.spv feat(render3d): light you can see - sun shafts and valley mist 2026-09-19 16:06:16 +03:00
a0f2dbac.frag.spv fix(render3d): the ground keeps more of its own colour, and the rock keeps all of it 2026-09-19 16:29:17 +03:00
a0f2dbac.vert.spv render3d(vulkan): the ground reads the sun cascades itself - no separate terrain sun pass 2026-09-15 17:26:39 +03:00
a5ad521e.frag.spv feat(render3d): the air and the light are the hour's, not one constant apiece 2026-09-19 14:42:30 +03:00
a5ad521e.vert.spv fix(render3d): Vulkan exposure, foliage depth and meadow alpha 2026-09-15 12:29:24 +03:00
a45356c7.frag.spv feat(render3d): the air and the light are the hour's, not one constant apiece 2026-09-19 14:42:30 +03:00
a45356c7.vert.spv fix(render3d): Vulkan exposure, foliage depth and meadow alpha 2026-09-15 12:29:24 +03:00
a64015f2.frag.spv feat(render3d): the air and the light are the hour's, not one constant apiece 2026-09-19 14:42:30 +03:00
a64015f2.vert.spv fix(render3d): Vulkan exposure, foliage depth and meadow alpha 2026-09-15 12:29:24 +03:00
a4683767.frag.spv feat(render3d): the air and the light are the hour's, not one constant apiece 2026-09-19 14:42:30 +03:00
a4683767.vert.spv feat(render3d): HDR10 output, and DLSS that stays still 2026-09-15 20:06:18 +03:00
b9fc2041.frag.spv feat(render3d): the air and the light are the hour's, not one constant apiece 2026-09-19 14:42:30 +03:00
b9fc2041.vert.spv fix(shaders): Vulkan SPIR-V keeps the near half of the depth range 2026-09-15 12:05:43 +03:00
b79a1f4e.frag.spv feat(render3d): the air and the light are the hour's, not one constant apiece 2026-09-19 14:42:30 +03:00
b79a1f4e.vert.spv fix(render3d): Vulkan exposure, foliage depth and meadow alpha 2026-09-15 12:29:24 +03:00
b4587cd4.frag.spv feat(render3d): light you can see - sun shafts and valley mist 2026-09-19 16:06:16 +03:00
b4587cd4.vert.spv fix(shaders): Vulkan SPIR-V keeps the near half of the depth range 2026-09-15 12:05:43 +03:00
b964507f.frag.spv feat(render3d): the air and the light are the hour's, not one constant apiece 2026-09-19 14:42:30 +03:00
b964507f.vert.spv fix(shaders): Vulkan SPIR-V keeps the near half of the depth range 2026-09-15 12:05:43 +03:00
bf3151c8.frag.spv feat(render3d): the air and the light are the hour's, not one constant apiece 2026-09-19 14:42:30 +03:00
bf3151c8.vert.spv fix(render3d): Vulkan exposure, foliage depth and meadow alpha 2026-09-15 12:29:24 +03:00
bfa15301.frag.spv feat(render3d): the air and the light are the hour's, not one constant apiece 2026-09-19 14:42:30 +03:00
bfa15301.vert.spv fix(shaders): Vulkan SPIR-V keeps the near half of the depth range 2026-09-15 12:05:43 +03:00
c57b4f14.frag.spv feat(render3d): the air and the light are the hour's, not one constant apiece 2026-09-19 14:42:30 +03:00
c57b4f14.vert.spv fix(render3d): Vulkan exposure, foliage depth and meadow alpha 2026-09-15 12:29:24 +03:00
d48d6a48.frag.spv feat(render3d): the air and the light are the hour's, not one constant apiece 2026-09-19 14:42:30 +03:00
d48d6a48.vert.spv feat(render3d): mesh-shader grass 2026-09-15 20:20:42 +03:00
e9b6300c.frag.spv feat(render3d): the air and the light are the hour's, not one constant apiece 2026-09-19 14:42:30 +03:00
e9b6300c.vert.spv fix(render3d): Vulkan exposure, foliage depth and meadow alpha 2026-09-15 12:29:24 +03:00
e18e40c9.frag.spv feat(render3d): the air and the light are the hour's, not one constant apiece 2026-09-19 14:42:30 +03:00
e18e40c9.vert.spv fix(render3d): Vulkan exposure, foliage depth and meadow alpha 2026-09-15 12:29:24 +03:00
e86f78e8.frag.spv feat(render3d): the air and the light are the hour's, not one constant apiece 2026-09-19 14:42:30 +03:00
e86f78e8.vert.spv feat(render3d): HDR10 output, and DLSS that stays still 2026-09-15 20:06:18 +03:00
f4a2b586.frag.spv feat(render3d): the air and the light are the hour's, not one constant apiece 2026-09-19 14:42:30 +03:00
f4a2b586.vert.spv fix(shaders): Vulkan SPIR-V keeps the near half of the depth range 2026-09-15 12:05:43 +03:00
f34dce08.frag.spv feat(render3d): the air and the light are the hour's, not one constant apiece 2026-09-19 14:42:30 +03:00
f34dce08.vert.spv fix(shaders): Vulkan SPIR-V keeps the near half of the depth range 2026-09-15 12:05:43 +03:00
f2952361.frag.spv fix(render3d): the ground keeps more of its own colour, and the rock keeps all of it 2026-09-19 16:29:17 +03:00
f2952361.vert.spv render3d(vulkan): the ground reads the sun cascades itself - no separate terrain sun pass 2026-09-15 17:26:39 +03:00
f4382918.frag.spv fix(render3d): the ground keeps more of its own colour, and the rock keeps all of it 2026-09-19 16:29:17 +03:00
f4382918.vert.spv fix(render3d): Vulkan exposure, foliage depth and meadow alpha 2026-09-15 12:29:24 +03:00
manifest.txt feat(render3d): light you can see - sun shafts and valley mist 2026-09-19 16:06:16 +03:00
probe.comp.spv feat(render3d): compute and indirect draws on Vulkan, and tree layers culled on the GPU (opt-in) 2026-09-15 14:19:43 +03:00
scatter_cull.comp.spv render3d(vulkan): GPU-driven trees - one merged mesh per material, one draw per material; on by default 2026-09-15 16:44:00 +03:00