When I flip between flat and smooth shading, I see that the vertex normals flip between n vertices for n meeting faces and single (averaged) normal. Once the vertex normals are deduced, how're objects with Smooth Shading rendered? I'm interested in the shading algorithm/interpolation model (Phong, Gouraud, etc.) than the illumination model (like Blinn-Phong, etc.) used. When smooth shading, are lighting calculations done per-vertex or per-fragment?
I'm a graphics programmer (OpenGL) who recently started learning Blender. I'd like to understand how Blender works under the hood for better understanding.
I searched in the manual but couldn't find anything regarding this, understandably. The Blender 3D Wikibook says Phong while an answer here says Gouraud.
When flat shading, the usual technique is to just shade the entire tri or quad with one lighting calculation performed with the face normal. I hope this holds true with Blender too.