Add false color rendering

This commit is contained in:
2023-06-02 20:41:34 +02:00
parent 77c312800a
commit ab245f0484
8 changed files with 35 additions and 3 deletions
+16
View File
@@ -5,6 +5,7 @@ uniform vec3 mtf_param;
uniform bool bw;
uniform bool invert;
uniform bool srgb;
uniform bool false_color;
uniform vec3 whiteBalance;
in vec2 qt_TexCoord0;
layout(location = 0) out vec4 color;
@@ -23,6 +24,20 @@ vec4 MTF(vec4 x, vec3 m)
return ((m.y - 1) * x) / ((2 * m.y - 1) * x - m.y);
}
vec3 falsecolor(float color)
{
const vec3 pallete[] = vec3[](
vec3(1.0, 0.0, 1.0), //magneta
vec3(0.0, 0.0, 1.0), //blue
vec3(0.0, 1.0, 1.0), //cyan
vec3(0.0, 1.0, 0.0), //green
vec3(1.0, 1.0, 0.0), //yellow
vec3(1.0, 0.0, 0.0), vec3(1.0, 0.0, 0.0));//red
color *= 5.0;
int i = int(color);
return mix(pallete[i], pallete[i+1], fract(color));
}
vec3 checker()
{
vec2 pattern = fract(gl_FragCoord.xy * 0.0625) - 0.5;
@@ -34,6 +49,7 @@ void main(void)
color = texture(qt_Texture0, qt_TexCoord0);
if(bw)color = color.rrra;
color = MTF(color, mtf_param);
if(false_color)color.rgb = falsecolor(color.r);
if(invert)color.rgb = vec3(1.0) - color.rgb;