ludic/packages/ludic.render3d
Orkuncakilkaya 65c1b9ca5c feat(render3d): HDR calibration; fix the HDR toggle crash and yellow reading as red
r3d_hdr_calibrate(peak, paper, black) feeds the tonemap's and the overlay's HDR10 variants and
the display's HDR metadata; ov_hdr_nits draws a calibration patch at a number of nits.

gpu_caps_probe asks the running Vulkan renderer's instance instead of making and destroying a
second one under Streamline's interposer, which left the next swapchain rebuild calling address 0.
The overlay gets an HDR10 variant, and the tonemap brightens HDR highlights by one factor rather
than per channel.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
2026-09-15 22:57:18 +03:00
..
shaders feat(render3d): HDR calibration; fix the HDR toggle crash and yellow reading as red 2026-09-15 22:57:18 +03:00
actor.ludic render3d: the reflection draws an actor when its mirror image is in view; reflection CPU in R3D_PROF 2026-09-15 18:25:05 +03:00
assets.manifest feat(gl): OpenGL 4.1 and the ludic.render3d renderer 2026-09-10 03:31:12 +03:00
camera.ludic feat(render3d): DLSS super resolution and Reflex through NVIDIA Streamline 2026-09-15 19:26:12 +03:00
collide.ludic feat(render3d): replace the world at run time, water bodies, terrain_sea 2026-09-13 00:03:40 +03:00
daylight.ludic feat(render3d): load steps for a loading screen, four quality switches, and the ring's uniform usage 2026-09-15 14:46:55 +03:00
drawstats.ludic feat(render3d): R3D_DRAWSTATS - every draw a frame makes, by pass, program and kind 2026-09-15 14:39:33 +03:00
FEATURES.md feat: per-voice audio, outlines for what is not an actor, and a coast 2026-09-11 15:25:46 +03:00
fmath.ludic feat(render3d): gpu.ludic - the seam for a second graphics API, and what the GPU can do 2026-09-15 09:52:12 +03:00
gltf.ludic 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
gpu.ludic feat(render3d): HDR calibration; fix the HDR toggle crash and yellow reading as red 2026-09-15 22:57:18 +03:00
gpu_manifest.ludic feat(render3d): read the SPIR-V manifest the way a Vulkan backend will 2026-09-15 10:41:43 +03:00
gpu_vk.ludic feat(render3d): mesh-shader grass 2026-09-15 20:20:42 +03:00
gpu_vk_draw.ludic feat(render3d): HDR calibration; fix the HDR toggle crash and yellow reading as red 2026-09-15 22:57:18 +03:00
gpu_vk_res.ludic feat(render3d): HDR10 output, and DLSS that stays still 2026-09-15 20:06:18 +03:00
grass.ludic perf(render3d): mesh-shader grass dispatches each tile with its own count; not yet counted as implemented 2026-09-15 20:40:47 +03:00
mesh.ludic perf(render3d): Vulkan draws find pipelines by integer and reuse descriptor sets 2026-09-15 13:22:51 +03:00
overlay.ludic feat(render3d): HDR calibration; fix the HDR toggle crash and yellow reading as red 2026-09-15 22:57:18 +03:00
package.ludic feat(gl): OpenGL 4.1 and the ludic.render3d renderer 2026-09-10 03:31:12 +03:00
post.ludic feat(render3d): HDR calibration; fix the HDR toggle crash and yellow reading as red 2026-09-15 22:57:18 +03:00
prof.ludic render3d: actors cast only into the cascades they can shade; Vulkan GPU timings and a mean frame split in R3D_PROF 2026-09-15 18:03:31 +03:00
programs.ludic refactor(render3d): programs, GPU timers and the context behind gpu.ludic 2026-09-15 11:33:01 +03:00
quat.ludic feat(gl): OpenGL 4.1 and the ludic.render3d renderer 2026-09-10 03:31:12 +03:00
r3d.ludic feat(render3d): DLSS super resolution and Reflex through NVIDIA Streamline 2026-09-15 19:26:12 +03:00
render.ludic feat(render3d): HDR10 output, and DLSS that stays still 2026-09-15 20:06:18 +03:00
scatter.ludic render3d: actors cast only into the cascades they can shade; Vulkan GPU timings and a mean frame split in R3D_PROF 2026-09-15 18:03:31 +03:00
shadow.ludic render3d: actors cast only into the cascades they can shade; Vulkan GPU timings and a mean frame split in R3D_PROF 2026-09-15 18:03:31 +03:00
skin.ludic refactor(render3d): vertex data and draws behind gpu.ludic 2026-09-15 10:21:55 +03:00
sky.ludic perf(render3d): the sky light baked once at start, the terrain load in four steps, actor cull bounds by height 2026-09-15 15:03:06 +03:00
stream.ludic feat(render3d): load steps for a loading screen, four quality switches, and the ring's uniform usage 2026-09-15 14:46:55 +03:00
streamline.ludic feat(render3d): HDR10 output, and DLSS that stays still 2026-09-15 20:06:18 +03:00
terrain.ludic render3d(vulkan): the ground reads the sun cascades itself - no separate terrain sun pass 2026-09-15 17:26:39 +03:00
texture.ludic feat(render3d): texture filtering and shadow resolution a game can change while it runs 2026-09-15 14:25:55 +03:00
water.ludic render3d: the reflection draws an actor when its mirror image is in view; reflection CPU in R3D_PROF 2026-09-15 18:25:05 +03:00