From 225ff0313c5021c3f1ec2bf5dd61114032b925a7 Mon Sep 17 00:00:00 2001 From: skal Date: Tue, 10 Feb 2026 18:19:30 +0100 Subject: feat: Add Scene1 effect from ShaderToy (raymarching cube & sphere) Converted ShaderToy shader (Saturday cubism experiment) to Scene1Effect following EFFECT_WORKFLOW.md automation guidelines. **Changes:** - Created Scene1Effect (.h, .cc) as scene effect (not post-process) - Converted GLSL to WGSL with manual fixes: - Replaced RESOLUTION/iTime with uniforms.resolution/time - Fixed const expressions (normalize not allowed in const) - Converted mainImage() to fs_main() return value - Manual matrix rotation for scene transformation - Added shader asset to workspaces/main/assets.txt - Registered in CMakeLists.txt (both GPU_SOURCES sections) - Added to demo_effects.h and shaders declarations - Added to timeline.seq at 22.5s for 10s duration - Added to test_demo_effects.cc scene_effects list **Shader features:** - Raymarching cube and sphere with ground plane - Reflections and soft shadows - Sky rendering with sun and horizon glow - ACES tonemapping and sRGB output - Time-based rotation animation **Tests:** All effects tests passing (5/9 scene, 9/9 post-process) Co-Authored-By: Claude Sonnet 4.5 --- workspaces/main/assets.txt | 1 + 1 file changed, 1 insertion(+) (limited to 'workspaces/main/assets.txt') diff --git a/workspaces/main/assets.txt b/workspaces/main/assets.txt index 53c8b3e..af8b9e9 100644 --- a/workspaces/main/assets.txt +++ b/workspaces/main/assets.txt @@ -67,3 +67,4 @@ SHADER_COMPUTE_GEN_MASK, NONE, shaders/compute/gen_mask.wgsl, "GPU Mask Composit CIRCLE_MASK_COMPUTE_SHADER, NONE, shaders/circle_mask_compute.wgsl, "Circle mask compute shader" CIRCLE_MASK_RENDER_SHADER, NONE, shaders/circle_mask_render.wgsl, "Circle mask render shader" MASKED_CUBE_SHADER, NONE, shaders/masked_cube.wgsl, "Masked cube shader" +SHADER_SCENE1, NONE, shaders/scene1.wgsl, "Scene1 effect shader" -- cgit v1.2.3