diff options
| author | skal <pascal.massimino@gmail.com> | 2026-03-08 23:38:11 +0100 |
|---|---|---|
| committer | skal <pascal.massimino@gmail.com> | 2026-03-08 23:38:11 +0100 |
| commit | ad0f386e1b5cd9148ad278c7f016734af00cd0bc (patch) | |
| tree | bdbcaaf5cd2c568a90f2c480fb82be60173fc5e9 /src/shaders/debug | |
| parent | c43addd93191db1ed3e79af7e065004f7c52bf48 (diff) | |
ntsc effect for real
Diffstat (limited to 'src/shaders/debug')
| -rw-r--r-- | src/shaders/debug/debug_print.wgsl | 9 |
1 files changed, 5 insertions, 4 deletions
diff --git a/src/shaders/debug/debug_print.wgsl b/src/shaders/debug/debug_print.wgsl index 22b5838..7e6debe 100644 --- a/src/shaders/debug/debug_print.wgsl +++ b/src/shaders/debug/debug_print.wgsl @@ -11,6 +11,8 @@ // each component holds 4 chars (MSB = leftmost char) // e.g. "Hi!" -> vec4u(0x48692100u, 0u, 0u, 0u), 3u +const ink_color = vec4f(1.0, 1.0, 0.0, 1.0); // yellow + // Returns lit pixel (0 or 1) for ASCII code [0x20-0x7E], row r [0-7], col c [0-7]. // Encoding: 2 u32s per glyph; hi covers rows 0-3, lo covers rows 4-7. // Within each u32, row r occupies bits [(3-r%4)*8+7 : (3-r%4)*8]. @@ -217,8 +219,7 @@ fn _dbg_char(ascii: u32, r: u32, c: u32) -> u32 { // pixel_pos : @builtin(position).xy // origin : top-left corner of text in screen pixels // value : f32 to display (format: [-]DDD.DDD, 64×8 px) -fn debug_f32(col: vec3f, pixel_pos: vec2f, origin: vec2f, value: f32) -> vec3f { - let ink_color = vec3f(1.0, 1.0, 0.0); // yellow +fn debug_f32(col: vec4f, pixel_pos: vec2f, origin: vec2f, value: f32) -> vec4f { let lp = pixel_pos - origin; if (lp.x < 0.0 || lp.x >= 64.0 || lp.y < 0.0 || lp.y >= 8.0) { return col; @@ -256,8 +257,8 @@ fn debug_f32(col: vec3f, pixel_pos: vec2f, origin: vec2f, value: f32) -> vec3f { // // Example — "Hello" (5 chars, ASCII 0x48 0x65 0x6C 0x6C 0x6F): // debug_str(col, pos.xy, origin, vec4u(0x48656C6Cu, 0x6F000000u, 0u, 0u), 5u) -fn debug_str(col: vec3f, pixel_pos: vec2f, origin: vec2f, s: vec4u, len: u32) -> vec3f { - let ink_color = vec3f(1.0, 1.0, 0.0); // yellow +fn debug_str(col: vec4f, pixel_pos: vec2f, origin: vec2f, s: vec4u, len: u32) -> +vec4f { let lp = pixel_pos - origin; let max_w = f32(len * 8u); if (lp.x < 0.0 || lp.x >= max_w || lp.y < 0.0 || lp.y >= 8.0) { |
