precision highp float; const vec3 Colour = vec3(0.97, 0.948, 0.91); const vec3 ToLight = vec3(1, 0.7, 1); in vec3 Normal; out vec4 FragColour; void main() { vec3 N = normalize(Normal); vec3 L = normalize(ToLight); vec3 a = vec3(0.7); vec3 d = vec3(0.3 * (0.7*max(0.0, dot(L,N)) + 0.3*max(0.0, dot(-L,N)))); vec3 c = Colour * (a+d); FragColour = vec4(pow(c, vec3(1.0 / 2.2)), 1.0); }