Incorrect rendering of polydata surfaces when using vtkActor::SetUserTransform

I have a little viewer which basically just renders the surface extracted from a labelfield using vtkDiscreteFlyingEdges3D.

The image/labelfield data has an associated orientation & origin which I store separately (not in the vtkImageData). I set this transform via vtkActor::SetUserTransform.

This is what the surface looks like when there is no flip in the rotation matrix (negative determinant):

But if the rotation has a flip I get this appearance (you can faintly see the boundaries):

I have tried different settings, e.g. to


But it doesn’t change the appearance.

I am using (stuck with) VTK 8.2.

Okay. It looks like the same issue was discussed here: mirroring and normals

I will see if normals are the problem.
Update: disabling normal computation fixed the issue. I guess I can use vtkReverseSense and flip normals if the matrix has a negative determinant.