Why dynamic drawn polygon contain triangle strips?

I want to dynamically draw a polygon in a vtkRenderWindow that contains the volume data. In this case, the polygon is closed and normal, but the drawing process will stuck because the volume data is also being rendered. Therefore, I created a new vtkRender to render the polygon. The vtkRender with the volume data is set to no render. If the rendering code is unchanged, the polygon will contain the triangle strips.
Can anyone give me some ideas or suggestions?
WeChat Screenshot_20230604015148
Wanted result
WeChat Screenshot_20230604014938
With triangle strips

vtkNew<vtkPoints> points1;
for (int i = 0; i < vecDisPts.size(); i++)
	points1->InsertNextPoint(vecDisPts[i].GetX(), vecDisPts[i].GetY(), 0.0);

vtkNew<vtkCellArray> polys1;
 polys1->InsertNextCell(points1->GetNumberOfPoints() + 1);
 for (int i = 0; i < points1->GetNumberOfPoints(); i++)


Those are not triangle strips. It looks like you are not erasing the render window between renders. So every time that a line is drawn, the line stays.

It is impossible to erase just one renderer. It is only possible to erase the render window, which erases everything.

Try the following:

After you render the volume, save the rendered pixels in a vtkUnsignedCharArray (call GetPixelData() on the window). Then, when you are dynamically drawing the polygon, call SetPixelData() to re-paint the volume before redrawing the lines.