fix specular calculation issue