VTK9 opengl/rendering bug
Overview
3D rendering bugs that affect VTK7 and/or VTK9:
- bug1: picking cursor in slice viewer sometimes disappear (no bug on VTK7)
- bug2: mesh contours in mesh projection sometimes disappear (no bug on VTK7)
Steps to Reproduce
- open
amos_0336.camitk
from testdata - 3D view is empty (not refreshed), clicking in the 3D viewer triggers a refresh
- ctrl+click in a slice viewer : the cursor actor appears/disappears randomly
- select the image, then a mesh (e.g. Liver), trigger the "Mesh Projection" action and activate the contour: the contour projection is not visible in the slice viewer (ans some arbitrary = yellow contour is erratically visible in the 3D viewer).
Interpretation & Possible fixes
Management of Qt + VTK (OpenGL) classes are different in VTK9 than in previous version. It seems that, although pipeline succeed on debian stable (that uses VTK9) and that the debian and ubuntu package are built without any error, there are some display problem during display.
Relevant URL:
- CamiTK wireframe display bug
- VTK9 migration bug
- Qt6 and its dependency to vtk package/version
- Minimal Qt+VTK example
- VTK discourse: discussion about class renaming in VTK9
- 3D driver issue(s)
- 3D window update "issue"
- VTK 9.0 release notes
- VTK API Changes from 8.2 to 9.0rc
- VTK 9.0.2, 9.1, 9.2 and 9/3 release notes
- MITK Modules/AppUtil/src/mitkBaseApplication.cpp class
Of some relevance:
- VTK picking problem in 9.1
- related merged MR
- related closed MR
- VTK bug #18503
- VTK bug #10391
- PCL issue when moving to VTK9
Possible fix:
- have a ubuntu/debian system with VTK9.1 version + GPU hardware and driver (not in a VM)
- test VTK9.3 version + GPU hardware and driver (not in a VM) (using sid, current testing or future ubuntu 24.10 for instance)
- simplify VTK version management (mainly in
RendererWidget
class). Get rid of very old version. Should we end up only supporting VTK9 (i.e., get rid of ubuntu 22.04 LTS support)? - use the Minimal Qt+VTK example as a base to update
RendererWidget
)
→ it would also be great to have a way to test this problem automatically in the future (all feasible suggestion welcome!)
CamiTK Version
build/bin/camitk-config build using CamiTK 5.3.dev.develop.ca33f681 Compiled using git Hash: ca33f681, Date: Fri Jul 19 08:20:44 2024 +0200.
please do not remove anything below this line