SmoothShader_Fragment.glsl 857 Bytes
#extension GL_EXT_gpu_shader4 : enable

varying vec3 fragment_normal;
uniform vec3 L0_pos;
uniform vec3 L1_pos;

float LightIntensity()
{
	//vec3 L0_pos = vec3(1.0, 0.0, 0.0);
	//vec3 L1_pos = vec3(0.0, 0.0, 1.0);
	float L0 = 0.5*max(dot(fragment_normal, L0_pos), 0.0);
	float L1 = 0.5*max(dot(fragment_normal, L1_pos), 0.0);
	
	return L0 + L1;
	//return 0.5;

}

void main(void)
{
	//float error = (1.0 - gl_TexCoord[0].x)*(240.0/360.0);
	float light = LightIntensity();
	vec4 color = gl_Color;//vec4(1.0, 1.0, 1.0, 1.0);
	gl_FragColor = color*light;
	
	//assume that the error is the H component of an HSV triple
	//vec4 HSV = vec4((240.0/60.0)*(1.0 - error), 1.0, 0.5, 1.0);
	//vec4 RGB = HSVtoRGB(HSV);
	
	//convert from HSL to RGB
	//vec4 HSL = vec4(error, 1.0, light, 1.0);
	//vec4 RGB = HSLtoRGB(HSL);
	
	//gl_FragColor = vec4(0.5, 0.5, 0.5, 1.0);
}