[vtkusers] freeze one renderer in render window

patalog patalog at mail.ru
Thu Jan 27 07:54:11 EST 2005


Hello vtkusers,

  I have to renderers in window with 2 layers.
  Main renderer at layer 1, and additional at layer 0.
  In main renderer I have several actors (simple data sets) which I need to update frequently.
  I do this in work thread (invalidate main window, which call
  vtkRenderWindow::Render in WM_PAINT message handler). But in additional
  render I have complex immutable data and rendering of them consumed much time.
  Can I do "freeze" second renderer so, that it not changes during
  vtkRenderWindow::Render but its previous result (when I've updtated
  additional renderer "manulally") not erased? I try use BackingStoreOn, but without
  result. Also, I try such "hack" - set SetLayer on additional
  renderer to invalid number (> NumberOfLayers of render window) and when I need
  this I set layer number to 0 again. In this way vtkRenderer::Render not called
  from vtkRendererCollection::Render, but this caused error message "Invalid layer for renderer: not
  rendered." and the result of previous redering erased by main renderer.
  I can't set main renderer layer to 0 because I need the additional
  renderer to be transparent.

  Any ideas?

  PS VTK 4.4.0 VC 7.1 Win XP Pro SP2

-- 
Best regards,
 patalog                          mailto:patalog at mail.ru




More information about the vtkusers mailing list