// -*-C++-*-
#version 120


vec4 color_temperature (in float T)
{
T *=0.01;

float red;
float green;
float blue;
float alpha;

red = 1.0;

if (T<66.0)
	{
	red = 255.0;
	green = T;
	green = 99.4708025 * log(green) - 161.11956;

	if (T <=19) 
		{blue = 0.0;}
	else
		{
		blue = T-10;
		blue = 138.517731 * log(blue) - 305.044792;
		}

	
	}
else
	{
	red = T - 60.0;
	red = 329.6987 * pow(red, -0.1332047);
	
	green = T - 60.0;
	green = 288.122169 * pow(green, -0.075514);	

	blue = 255.0;
	}

alpha = 0.8 * smoothstep(5.0, 15.0, T);

vec3 color = vec3 (red, green, blue);
color /= 255.0;

color = clamp(color, 0.0, 1.0);

return vec4 (color, alpha);
}