20 lines
398 B
GLSL
20 lines
398 B
GLSL
uniform sampler1D colormap;
|
|
uniform vec4 conf;
|
|
|
|
vec4 linear_colormap(float value)
|
|
{
|
|
float vmin = conf.x;
|
|
float vmax = conf.y;
|
|
float count = conf.z - 1.0;
|
|
|
|
float invalid = conf.w;
|
|
|
|
if (value == invalid) {
|
|
return vec4(0.0, 0.0, 0.0, 0.0);
|
|
}
|
|
|
|
float v = clamp((value - vmin), vmin, vmax) / (vmax - vmin);
|
|
vec4 result = texture(colormap, v);
|
|
return result;
|
|
}
|