summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--cmake/DemoCodegen.cmake4
-rw-r--r--src/effects/ntsc.wgsl5
2 files changed, 4 insertions, 5 deletions
diff --git a/cmake/DemoCodegen.cmake b/cmake/DemoCodegen.cmake
index aa20a92..2d21b14 100644
--- a/cmake/DemoCodegen.cmake
+++ b/cmake/DemoCodegen.cmake
@@ -21,8 +21,8 @@ function(parse_asset_list INPUT_TXT OUT_FILE_LIST)
string(REGEX REPLACE "^[^,]+,[^,]+,[ ]*([^,]+).*" "\\1" FILENAME "${LINE}")
string(STRIP "${FILENAME}" FILENAME)
- # Use workspace-relative path
- set(FULL_PATH "${INPUT_DIR}/${FILENAME}")
+ # Normalize path (resolves .. components for correct dependency tracking)
+ get_filename_component(FULL_PATH "${INPUT_DIR}/${FILENAME}" ABSOLUTE)
if(EXISTS ${FULL_PATH})
list(APPEND ASSET_FILES ${FULL_PATH})
diff --git a/src/effects/ntsc.wgsl b/src/effects/ntsc.wgsl
index f357b17..3c4a2bf 100644
--- a/src/effects/ntsc.wgsl
+++ b/src/effects/ntsc.wgsl
@@ -10,9 +10,8 @@
// Barrel (fisheye) distortion: strength > 0 = barrel, < 0 = pincushion
fn fisheye(uv: vec2f, strength: f32) -> vec2f {
let c = uv * 2.0 - 1.0;
- let r2 = dot(c, c);
- let distorted = c * (1.0 + strength * r2);
- return distorted * 0.5 + 0.5;
+ let r2 = c * c;
+ return uv * 1.03 * (1.0 + vec2f(.1, .24) * strength * r2);
}
@fragment fn fs_main(in: VertexOutput) -> @location(0) vec4f {