Diffuse lighting term in shader is fine. Specular term calculation has issues.