Vertex color by face

Does Unity render Vertex color per face, instead of Vertex Color per… Vertex ?

Meaning, that a single vertex can have as many colors as shared faces.

For example, if I want all faces of a cube grey, and one face red, will only this face be red or will there be an automatic interpolation of color between the red vertices and the grey ones ?

Like this one, there is no interpolation between the yellow and the red faces :

alt text

Vertex color is always per-vertex (hence the name). The only reason it looks like it is per-face, is that you have the same color on all verts that make up the face. Interpolation happens, but any interpolation between values that are equal results in no change to the values. Where it looks like you have a hard edge, it’s because you have multiple vertices in the same location. Modeling tools tend to hide this information from you, but I think that’s stupid and leads to confusion.

This is true of all data stored in a mesh, except the triangle list. Faces are a result of interpolation of various data between vertices. You can’t store anything in a polygon because polygons are made and remade by the GPU at runtime.