Having trouble implementing OffScreenRendering for when I’m exporting an image of my scene.
What I’m doing:
- Generate data
- Enable OffScreenRendering
- Write image.
- Enable OnScreenRendering
- Render the image (to open the render window)
- Start the interactor (This isn’t working!)
I made a simple script reproducing the issue:
import vtk
cylinderSource = vtk.vtkCylinderSource()
cylinderSource.SetCenter(0.0, 0.0, 0.0)
cylinderSource.SetRadius(5.0)
cylinderSource.SetHeight(7.0)
cylinderSource.SetResolution(100)
mapper = vtk.vtkPolyDataMapper()
mapper.SetInputConnection(cylinderSource.GetOutputPort())
actor = vtk.vtkActor()
actor.SetMapper(mapper)
renderer = vtk.vtkRenderer()
renderWindow = vtk.vtkRenderWindow()
renderWindow.AddRenderer(renderer)
renderWindowInteractor = vtk.vtkRenderWindowInteractor()
renderWindowInteractor.SetRenderWindow(renderWindow)
renderWindow.OffScreenRenderingOn()
renderer.AddActor(actor)
renderWindow.Render()
# In my main script, this is where I use an WindowToImageFilter to export a figure.
renderWindow.OffScreenRenderingOff()
renderWindow.Render()
renderWindowInteractor.Initialize()
renderWindowInteractor.Start()
On my end, when the render window shows up, the interactor is not responding, the window is “stuck”.
Is there something I misunderstood or is this simply not possible?