summaryrefslogtreecommitdiff
path: root/src/render/shaders/glsl/sdr_mod.glsl
diff options
context:
space:
mode:
Diffstat (limited to 'src/render/shaders/glsl/sdr_mod.glsl')
-rw-r--r--src/render/shaders/glsl/sdr_mod.glsl10
1 files changed, 10 insertions, 0 deletions
diff --git a/src/render/shaders/glsl/sdr_mod.glsl b/src/render/shaders/glsl/sdr_mod.glsl
new file mode 100644
index 00000000..7803d804
--- /dev/null
+++ b/src/render/shaders/glsl/sdr_mod.glsl
@@ -0,0 +1,10 @@
+uniform float sdrSaturation;
+uniform float sdrBrightnessMultiplier;
+
+vec4 saturate(vec4 color, mat3 primaries, float saturation) {
+ if (saturation == 1.0)
+ return color;
+ vec3 brightness = vec3(primaries[1][0], primaries[1][1], primaries[1][2]);
+ float Y = dot(color.rgb, brightness);
+ return vec4(mix(vec3(Y), color.rgb, saturation), color[3]);
+}