summaryrefslogtreecommitdiff
path: root/tools/shadertoy/convert_shadertoy.py
diff options
context:
space:
mode:
authorskal <pascal.massimino@gmail.com>2026-02-28 09:48:08 +0100
committerskal <pascal.massimino@gmail.com>2026-02-28 09:48:08 +0100
commitf9ac4caf2f36c283c2d90bcb985e3298c417d564 (patch)
tree70960c6115442c6f342ee5c0e50726e9c8f9f226 /tools/shadertoy/convert_shadertoy.py
parentbc1beb58ba259263eb98d43d2aa742307764591c (diff)
fix(tools/shadertoy): fix Next Steps instructions and update EFFECT_WORKFLOW.md
- Fix assets.txt path: shaders/xxx.wgsl (not ../../src/shaders/) - Fix shader output path to workspaces/main/shaders/ - Step 5: reference cmake/DemoSourceLists.cmake COMMON_GPU_EFFECTS (not CMakeLists.txt GPU_SOURCES) - Add step for test_demo_effects.cc Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
Diffstat (limited to 'tools/shadertoy/convert_shadertoy.py')
-rwxr-xr-xtools/shadertoy/convert_shadertoy.py16
1 files changed, 10 insertions, 6 deletions
diff --git a/tools/shadertoy/convert_shadertoy.py b/tools/shadertoy/convert_shadertoy.py
index 22b3276..9df42bb 100755
--- a/tools/shadertoy/convert_shadertoy.py
+++ b/tools/shadertoy/convert_shadertoy.py
@@ -12,7 +12,7 @@
# Generates:
# - src/effects/<effect>_effect.h
# - src/effects/<effect>_effect.cc
-# - src/shaders/<effect>.wgsl
+# - workspaces/main/shaders/<effect>.wgsl
#
# The script performs basic ShaderToy→WGSL conversion:
# - Converts types (float→f32, vec2→vec2f, etc.)
@@ -333,7 +333,7 @@ def main():
print("This will generate:")
print(" src/effects/<effect>_effect.h")
print(" src/effects/<effect>_effect.cc")
- print(" src/shaders/<effect>.wgsl")
+ print(" workspaces/main/shaders/<effect>.wgsl")
sys.exit(1)
shader_file = sys.argv[1]
@@ -361,7 +361,7 @@ def main():
repo_root = Path(__file__).parent.parent.parent
header_path = repo_root / "src" / "effects" / f"{snake_name}_effect.h"
impl_path = repo_root / "src" / "effects" / f"{snake_name}_effect.cc"
- shader_path = repo_root / "src" / "shaders" / f"{snake_name}.wgsl"
+ shader_path = repo_root / "workspaces" / "main" / "shaders" / f"{snake_name}.wgsl"
# Generate files
if shader_only:
@@ -389,7 +389,7 @@ def main():
print("Next steps (see doc/EFFECT_WORKFLOW.md for details):")
print()
print("1. Add shader to workspaces/main/assets.txt:")
- print(f" SHADER_{upper_name}, NONE, ../../src/shaders/{snake_name}.wgsl, \"{effect_name} effect\"")
+ print(f" SHADER_{upper_name}, NONE, shaders/{snake_name}.wgsl, \"{effect_name} effect\"")
print()
print("2. Add shader declaration to src/effects/shaders.h:")
print(f" extern const char* {snake_name}_shader_wgsl;")
@@ -400,7 +400,7 @@ def main():
print("4. Include header in src/gpu/demo_effects.h:")
print(f' #include "effects/{snake_name}_effect.h"')
print()
- print("5. Add to CMakeLists.txt GPU_SOURCES (both headless and normal mode sections):")
+ print("5. Add to cmake/DemoSourceLists.cmake COMMON_GPU_EFFECTS list:")
print(f" src/effects/{snake_name}_effect.cc")
print()
print("6. Add to timeline in workspaces/main/timeline.seq:")
@@ -410,7 +410,11 @@ def main():
print(" python3 tools/seq_compiler.py workspaces/main/timeline.seq \\")
print(" --output src/generated/timeline.cc")
print()
- print("8. Build and test:")
+ print("8. Add to src/tests/gpu/test_demo_effects.cc:")
+ print(f' {{"{effect_name}", std::make_shared<{effect_name}Effect>(')
+ print(f' fixture.ctx(), inputs, outputs, 0.0f, 1000.0f)}}')
+ print()
+ print("9. Build and test:")
print(" cmake --build build -j4")
print(" ./build/demo64k")
print()