summaryrefslogtreecommitdiff
path: root/src/effects/ntsc_yiq.wgsl
blob: 8ab36d3d14b65b9338671453043d01b9b57b65fd (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
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"