#version 330 core

in vec4 fragColor;
in vec3 fragPos;
in vec3 fragNormal;

out vec4 f_color;

float map(float value, float min1, float max1, float min2, float max2) {
	return min2 + (value - min1) * (max2 - min2) / (max1 - min1);
}

void main(){
	vec3 lightColor = vec3(1, 1, 1);
	vec3 lightDir = vec3(1, 1, 1);

	// диффузное освещение
	// dot получается [-1 ... 1]
	float diff = dot(normalize(fragNormal), normalize(lightDir));
	// теперь делаем диапазон [0.2 ... 1]
	diff = map(diff, -1, 1, 0.2, 1);

	f_color = vec4(diff * lightColor * fragColor.rgb, fragColor.a);
}
