Only apply specular if dot product is greater than zero. Only generate reflect vector once.