Re: How is the color of cell interpolated given different colors to each cell point?
If vtkMapper::InterpolateScalarsBeforeMapping is Off, we send the RGBs at each vertex and GL interpolates the RGB values over the polygon. This can produce incorrect results (colors outside of the lookup table) so I don't recommend it.
If On, we send the color lookup table for the object over and the values at each vertex instead of the colors at each vertex. GL interpolates the values over the polygon and looks up the color at each pixel from the lookup table.
Note that you can also color by cell aligned values. See vtkMapper::SetScalarModeToUseCellData(). Here the color of all pixels within a polygon will be the same and determined by looking up the cell's value in the lookuptable.