It's interesting to see that we can interpolate normals across triangles, not only colors. I'm starting to see how powerful triangles are in graphics and I'm curious to see what other properties we can interpolate, hopefully later in the course.
Looking back at this while studying, I'm curious if anyone can provide more depth as to why Gouraud shading looks so much worse here. Vaguely speaking, it seems like interpolating then calculating shading vs calculating shading then interpolating wouldn't change the result much
@ecorriere the difference between Gouraud and Phong shading is about frequency / number of samples taken. Gouraud shading involves calculating color at each vertex, then interpolating across the triangle. Each vertex's normal vector allows you to calculate its color based on the Phong model (3 slides earlier).
Phong shading involves calculating color at every pixel, which gives you more detail. That's why the specular white portion of gouraud looks weird - it's just a few white and gray vertices interpolated together.
The power of shaders (e.g., in OpenGL ES 2.0) means you can interpolate anything you want. OpenGL does not care if it's a color, a normal, a texture coordinate, a position, etc.