Weird render error

I’m using vtk9. I drew some blue and white tubes using vtkTubeFilter on a separate layer of vtkRenderer, and sometimes the following render error occurs. (Those small aligned rectangles shouldn’t be there)

I observed several strange things:

  1. This problem only occurs on Intel UHD graphics cards, Nvidia cards do not have this problem.
  2. If there are other transparent objects in the scene, this problem will disappear.
  3. This problem will also disappear if the blue and white tubes are not placed on a separate vtkRenderer.

Sounds like a driver bug to me

It seems the blue and white tubes are coincident i.e. the faces are within a tolerant depth of each other. When that happens, the graphics pipeline cannot correctly resolve primitive depth and such artifacts occur. Take a look at vtkMapper::SetResolveCoincidentTopology and set polygon offset.

I have updated the driver(windows 10) to the latest version and the problem still there.

I tried SetResolveCoincidentTopology, but not fix.


It looks like some alpha blending/translucency issue to me. Do you set or handle alpha channel values anywehere in your code? If so, do make sure you set valid values and set the correct alpha blending operation for the expected result. Many people think of alpha blending as a synonym of transparency/translucency setting and often they end up with unwanted effects if configured incorrectly.



I found a fix, for the tube, set opacity to 0.999, then rendering will be no problem.

I think that’s odd. Why does it work with 0.999 and not with 0.99999 or 0.99999999 or 1.0? Please, report the issue as a defect here: Issues · VTK / VTK · GitLab ( .

Values <1.0 likely trigger a different path through the rendering engine.

@liuzhongshu If changing the opacity fixes it, means you are running into coincident geometry issues. Did you try changing the coincident topology offset parameters?

I think that this is a driver bug. any opacity value <1.0 can fix it.
and I tried SetResolveCoincidentTopology, but not working.


Have you made sure your graphics drivers are up-to-date?