Fix rendering issue in flow view

This commit is contained in:
Jaime van Kessel 2021-05-17 10:37:38 +02:00
parent dd952c7f63
commit 91c4d8b5f2
No known key found for this signature in database
GPG key ID: 3710727397403C91

View file

@ -109,18 +109,26 @@ vertex41core =
float clamp(float v) float clamp(float v)
{ {
float t = v < 0 ? 0 : v; float t = v < 0 ? 0 : v;
return t > 1.0 ? 1.0 : t; return t > 1.0 ? 1.0 : t;
} }
// Inspired by https://stackoverflow.com/a/46628410 // Inspired by https://stackoverflow.com/a/46628410
vec4 flowRateGradientColor(float abs_value, float min_value, float max_value) vec4 flowRateGradientColor(float abs_value, float min_value, float max_value)
{ {
float t = 2.0 * ((abs_value - min_value) / (max_value - min_value)) - 1; float t;
float red = clamp(1.5 - abs(2.0 * t - 1.0)); if(abs(min_value - max_value) < 0.0001)
float green = clamp(1.5 - abs(2.0 * t)); {
float blue = clamp(1.5 - abs(2.0 * t + 1.0)); t = 0;
return vec4(red, green, blue, 1.0); }
else
{
t = 2.0 * ((abs_value - min_value) / (max_value - min_value)) - 1;
}
float red = clamp(1.5 - abs(2.0 * t - 1.0));
float green = clamp(1.5 - abs(2.0 * t));
float blue = clamp(1.5 - abs(2.0 * t + 1.0));
return vec4(red, green, blue, 1.0);
} }
void main() void main()