Если вы хотите визуализировать изменения значения на экране, вы можете использовать функцию тепловых карт, аналогичную этой (я написал ее в hlsl, но ее легко адаптировать к glsl):
float4 HeatMapColor(float value, float minValue, float maxValue)
{
#define HEATMAP_COLORS_COUNT 6
float4 colors[HEATMAP_COLORS_COUNT] =
{
float4(0.32, 0.00, 0.32, 1.00),
float4(0.00, 0.00, 1.00, 1.00),
float4(0.00, 1.00, 0.00, 1.00),
float4(1.00, 1.00, 0.00, 1.00),
float4(1.00, 0.60, 0.00, 1.00),
float4(1.00, 0.00, 0.00, 1.00),
};
float ratio=(HEATMAP_COLORS_COUNT-1.0)*saturate((value-minValue)/(maxValue-minValue));
float indexMin=floor(ratio);
float indexMax=min(indexMin+1,HEATMAP_COLORS_COUNT-1);
return lerp(colors[indexMin], colors[indexMax], ratio-indexMin);
}
Затем в пиксельном шейдере вы выводите что-то вроде:
return HeatMapColor(myValue, 0.00, 50.00);
И вы можете получить представление о том, как оно изменяется между вашими пикселями:
Конечно, вы можете использовать любой набор цветов, который вам нравится.