summaryrefslogtreecommitdiff
path: root/src/effects/ntsc_yiq.wgsl
diff options
context:
space:
mode:
Diffstat (limited to 'src/effects/ntsc_yiq.wgsl')
-rw-r--r--src/effects/ntsc_yiq.wgsl19
1 files changed, 19 insertions, 0 deletions
diff --git a/src/effects/ntsc_yiq.wgsl b/src/effects/ntsc_yiq.wgsl
new file mode 100644
index 0000000..8ab36d3
--- /dev/null
+++ b/src/effects/ntsc_yiq.wgsl
@@ -0,0 +1,19 @@
+// NTSC post-process effect (YIQ input): fisheye distortion, scanlines, color bleeding.
+// Input texture already stores luma/chroma/phase (e.g. from RotatingCube output).
+#include "sequence_uniforms"
+#include "render/fullscreen_uv_vs"
+#include "math/noise"
+#include "math/color"
+#include "math/color_c64"
+#include "debug/debug_print"
+
+@group(0) @binding(0) var input_sampler: sampler;
+@group(0) @binding(1) var input_texture: texture_2d<f32>;
+@group(0) @binding(2) var<uniform> uniforms: UniformsSequenceParams;
+
+// YIQ input: texture already stores luma/chroma/phase — pass through directly
+fn sample_ntsc_signal(uv: vec2f) -> vec4f {
+ return textureSample(input_texture, input_sampler, uv);
+}
+
+#include "render/ntsc_common"