maybe a little cryptic topic, and maybe a silly question, but I'm looking at adding some light to my simple scene, and I would like to know if I understood this correct.

1: Values calculated in VS and send to PS are all (in case a struct is returned) interpolated from value of vertex1 to vertex2 (and3) ?

2: To calculate simple diffuse light (for a starter) I need to have a vertex normal for each vertex. This will be calculated at the time I generate the mesh.

3: For a 'smooth' surface the vertex normal should be calculated as an average of the neighboring surface normal.

4: For lighting I can either

a - calculate the color at the vertex, based on the vertex normal and lighting formula, and then the color will be interpolated from V1 to V2 (Lamberts shading)

b - pass the normal from VS to PS. The normal will now be interpolated from V1 to V2, and in the PS it will be normalized and can then be used for light calculation (Blinn-phong shading)

I think this makes sense, but I'm just double checking.

Thanks