1

I am working on an application with VTK windows. (my VTK version is 5.8.0)

Leaving "VTK render window", all other windows are hidden. But it is necessary to render the hidden windows because the rendered images of the hidden windows are needed to be stored as images.

here is sample code.

std::vector<vtkRenderer*> renderers;
renderers.reserve(m_numberOfRenderer);   // m_numberOfRenderer = 4

std::vector<vtkRenderWindow*> windows;
windows.reserve(m_numberOfRenderer);

for(int i=0; i<m_numberOfRenderer; i++)
{
    vtkRenderer* renderer = vtkRenderer::New();
    vtkRenderWindow* window = vtkRenderWindow::New();
    renderer->TwoSidedLightingOff();

    window->OffScreenRenderingOn();
    window->SetSize(m_width, m_height);
    window->AddRenderer(renderer);

    renderer->SetActiveCamera(m_renderCamera.at(i));
    renderer->AddActor(m_actor.at(i));
    renderer->AddActor(m_outActor.at(i));

    renderers.push_back(renderer);
    windows.push_back(window);
}

My code is working fine but sometimes crashes on OffScreenRenderingOn method

THIS IS VTK CLASS REF --- http://www.vtk.org/doc/nightly/html/classvtkWindow.html#a25c2cd7f6dad61d91f148da42bc8e780)

virtual void vtkWindow::OffScreenRenderingOn()

Creates a window in memory instead of on the screen. This may not be supported for every type of window and on some windows you may need to invoke this prior to the first render.

i don't know that some windows you may need to invoke this prior to the first render.

i appreciate any help,

Thanks in advance

Yogendra
  • 1,728
  • 16
  • 28
Study
  • 1
  • 4

0 Answers0