diff options
Diffstat (limited to 'src/render/shaders/glsl/sdr_mod.glsl')
| -rw-r--r-- | src/render/shaders/glsl/sdr_mod.glsl | 10 |
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]); +} |
