[vtk-developers] progressive rendering

David E DeMarle dave.demarle at kitware.com
Thu Jun 26 11:48:41 EDT 2008


Ah, I misunderstood.

The EraseOff functions are a screen space trick to accumulate a series
of result images together. And you would use it just as you have
described, move the loop out to the application level, modify some
flag in your filter on each iteration, and then call render each time.

You could do better by making the generated geometry persist by
caching the vtkPolyData generated by your filter at each iteration and
using an append polydata filter to merge the new results with those
from the last call to update. You could either do this internally to
your filter or at the application level.

I would highly recommend doing the iteration at the application level.
It might be possible to use the existing executives in some way that
lets you iterate within your filter and show the results (grep for
CONTINUE_EXECUTING) as it runs or more likely write a new executive
that would allow that, but either would take much more effort to
implement than iterating at the application level.

cheers,
Dave DeMarle

On Thu, Jun 26, 2008 at 12:48 AM, Kaushik . <shekhar.kaushik at gmail.com> wrote:
>> vtkRenderer::EraseOff() and vtkRenderWindow::EraseOff() is what you
>> are looking for.
>
>
>  may be it is . It will try using it.
>
> But let me frame the problem better.
> Within the RequestData() function of my filter , I have a while loop which
> generates
> the polydata that needs to be generated. So in every pass of the while loop,
> part of the triangles get generated.
>
> If I use the EraseOff() method , every pass of the while loop will be one
> pipeline update . Am I correct ? So I would have to write a wrapper that
> would update the pipeline multiple times and some kind of state would have
> to
> be maintained within my filter so that it can generate output properly ?
>
> --
> shekhar
>



More information about the vtk-developers mailing list