#version 130 #extension all : warn #pragma STDGL #pragma optimize(on) #pragma debug(off) /* Uniform */ uniform vec3 lightPos; uniform vec4 diffuse; uniform vec4 specular; /* In */ varying vec3 normal; /* Main */ void main(void) { /* Compute dot product of light direction and normal vector */ float dotProd = max(dot(lightPos, normalize(normal)), 0.0); /* Compute diffuse and specular contributions */ gl_FragColor = diffuse * dotProd + specular * pow(dotProd, 20.0); }