Adding all vtkPoints at once

I’m not sure what you mean when you say you “supply the range”.

In any case, you should be able to work around this by instantiating your vtkPolyDataMapper as a vtkOpenGLPolyDataMapper and then calling

mapper->SetVBOShiftScaleMethod(vtkOpenGLVertexBufferObject::DISABLE_SHIFT_SCALE);

I was surprised to see that the mapper does this range computation by default. It’s very computationally expensive. Looks like it was a recent change to VTK (just a couple years old).