From 890c6be9f32fd253c95d3dd8811aa76ac1c0dc3e Mon Sep 17 00:00:00 2001 From: Valerie Date: Sun, 14 Jul 2024 13:45:37 -0400 Subject: [PATCH] added green & amber phosphor palettes --- shaders/lang/en_US.lang | 2 ++ shaders/module/color.frag | 8 +++++++- shaders/module/signal.frag | 5 +++-- shaders/var/color.glsl | 2 ++ 4 files changed, 14 insertions(+), 3 deletions(-) diff --git a/shaders/lang/en_US.lang b/shaders/lang/en_US.lang index ea74a58..a632a63 100644 --- a/shaders/lang/en_US.lang +++ b/shaders/lang/en_US.lang @@ -42,6 +42,8 @@ value.monoPalette.0=Black & White value.monoPalette.1=DameGame value.monoPalette.2=Paint the Town value.monoPalette.3=Noir +value.monoPalette.4=Amber Phosphor +value.monoPalette.5=Green Phosphor option.hueBits=Hue Depth suffix.hueBits=-bit diff --git a/shaders/module/color.frag b/shaders/module/color.frag index dd4b29c..7865b4a 100644 --- a/shaders/module/color.frag +++ b/shaders/module/color.frag @@ -7,7 +7,7 @@ #define secondBits 2 // [0 1 2 3 4 5 6 7 8] #define thirdBits 2 // [0 1 2 3 4 5 6 7 8] -#define monoPalette 0 // [0 1 2 3] +#define monoPalette 0 // [0 1 2 3 4 5] float bit_max(int bits) { return pow(2, bits); } @@ -32,6 +32,12 @@ vec3 monoLow = vec3(0); #elif monoPalette == MONO_NOIR vec3 monoHigh = vec3(0.73, 0.67, 0.55); vec3 monoLow = vec3(0.26, 0.23, 0.19); +#elif monoPalette == MONO_AMBER +vec3 monoHigh = vec3(1.00, 0.50, 0.00); +vec3 monoLow = vec3(0); +#elif monoPalette == MONO_PHOSPHOR +vec3 monoHigh = vec3(0.00, 0.83, 0.43); +vec3 monoLow = vec3(0); #endif float luminance(vec3 color) { diff --git a/shaders/module/signal.frag b/shaders/module/signal.frag index 8c8770a..1f0e799 100644 --- a/shaders/module/signal.frag +++ b/shaders/module/signal.frag @@ -16,8 +16,8 @@ vec3 ntsc(vec3 color) { // faux ntsc signal float carrier = 22.430; // 2π * 3.57MHz - #if wire == WIRE_COMPOSITE - carrier *= gl_FragCoord.x; + #if wire == WIRE_COMPOSITE + carrier *= gl_FragCoord.x; #endif float phase = sin(carrier) * i + cos(carrier) * q; @@ -57,6 +57,7 @@ vec3 pal(vec3 color) { // decode faux signal #if wire == WIRE_COMPOSITE float composite = y + phase; + // TODO: composite #endif u = quad * cos(carrier); v = phase * sin(carrier); diff --git a/shaders/var/color.glsl b/shaders/var/color.glsl index 979eaee..bcce4aa 100644 --- a/shaders/var/color.glsl +++ b/shaders/var/color.glsl @@ -11,4 +11,6 @@ #define MONO_DAMEGAME 1 #define MONO_MOTIONSICK 2 #define MONO_NOIR 3 +#define MONO_AMBER 4 +#define MONO_PHOSPHOR 5