[vtkusers] Incremental mesh rendering question

Will Schroeder will.schroeder at kitware.com
Thu Dec 21 08:38:46 EST 2000


Hi John-

There is an EraseOn()/EraseOff() that prevents the clear from happening. 
(The method is defined in vtkWindow, a superclas of vtkRenderWIndow. See 
graphics/examplesTcl/walkCow.tcl for an example.)

However, as you point out, additional functionality needs to be added to 
support rendering
just some of the actors/props, and not all of them. This would be a very 
nice addition. It will
not show up in vtk3.2, it's too big a change to throw in at the last minute.

Will

At 01:43 PM 12/20/2000 -0800, John Shalf wrote:

>This came up once before in the VTK list.  I think the key is to be able 
>to tell the renderer
>(or well actually the vtkOpenGLRenderer->Clear() is called by 
>vtkOpenGLCamera->Render()) to
>*not* execute glClear() on a new frame so that you accumulate things into 
>the image buffer.
>Unfortunately VTK 3.1 does not expose this in the standard renderer 
>(perhaps someone will say
>something about VTK 3.2 having a method for this?)
>
>Anyways, we can easily inherit from the vtkOpenGLRenderer and override the
>vtkOpenGLRenderer->Clear() method to only glClear() if a particular flag 
>is set (ie. some
>vtkSetMacro(ClearFrame)).
>
>But there is going to be more to it than that I guess because we would 
>want it to avoid
>calling the "Render" method for each of the mesh actors.  I guess if you 
>are busy inheriting
>the renderer to override the Clear() method, that you could also create a 
>companion array for
>the list of actors that need to be rendered which flags which actors have 
>already been
>rendered since the last clear and ignores them.
>
>-john





More information about the vtkusers mailing list