added clamping to diffuse and specular