Context
I’m prototyping a scientific visualization interface where the base render is real vtkImageData (volume slices), but I want to overlay UI chrome and annotation mockups that were generated as static PNGs in a browser tool. For reference, I used Seedream 5.0 Pro AI Image Generator purely as an external image source to sketch overlay concepts before touching VTK - no integration exists, it’s just PNG output I’m importing.
The actual VTK question
Once the PNG is in hand, what’s the more robust path for compositing:
- A
vtkImageActorin a separate renderer layer, or - A
vtkImageSlicewith its own mapper, positioned in display/overlay coordinates?
I need the overlay to stay screen-locked (like a HUD) rather than move with camera pan/zoom on the 3D layer beneath it. Is a second vtkRenderer with SetLayer() and a vtkCoordinate transform to VTK_DISPLAY the standard approach, or is there a cleaner idiom for this in current VTK?
Alpha and resizing
The mockups have transparent backgrounds. Does vtkPNGReader preserve the alpha channel automatically into the RGBA image data, or do I need to explicitly request 4 components? Also, when the render window resizes, how do people avoid blurring the overlay - is nearest-neighbor interpolation on the image property enough, or should the overlay be regenerated per-resize event?
Picking
Finally, since this overlay is purely cosmetic, how do I exclude it from vtkPropPicker or cell/point picking so it never gets selected accidentally during normal interaction with the underlying dataset?
Any pointers to relevant examples or classes would be appreciated.