[vtkusers] Integrating VTK into a scene-graph based renderer?

Paul John Rajlich prajlich at ncsa.uiuc.edu
Tue Sep 18 09:38:32 EDT 2001


Peter,

good idea. Let me know how it goes!

However, the problem is that there are many filters that create geometry 
(any filter that outputs vtkPolyData). That is why I implemented 
vtkActorToPF at the mapper level...

-Paul       

----------------------------------------------------------------------
              Paul J. Rajlich - prajlich at ncsa.uiuc.edu
               Visualization and Virtual Environments
           National Center for Supercomputing Applications
               http://brighton.ncsa.uiuc.edu/~prajlich/
----------------------------------------------------------------------

On Thu, 13 Sep 2001, Peter Ellsiepen wrote:

> Hello VTK-Users,
> 
> currently, I'm thinking of an efficient way to integrate the VTK 
> visualization pipeline into a scene-graph based renderer. I found 
> vtkActorToPF which pretty much does the job in case of IRIS Performer. 
> However, each change in the visualization leads to a complete remove/add of 
> the geometry object in the scene-graph (here: the geode node). This can be 
> very time-consuming, especially when large datasets are handled leading to 
> large geometric objects as output of the visualization pipeline (for example 
> cutplanes, isosurfaces, meshes from finite element analyses).
> 
> As an example, you can think of a cutplane through a structured 
> dataset where only the position is changed by interaction. In the case of 
> vtkActorToPF, the complete geometry would be re-created for each new cutplane 
> even though only a change of the vertex colors and vertex transformation is 
> necessary, i.e. the topology stays constant. In most scene-graph based 
> rendering APIs the "expensive" operations are topology changes while color 
> and transformation changes are "cheap".
> 
> By reading the VTK Book and the VTK User's Guide I thought of the following 
> alternative: Instead of creating the geometry inside VTK and then copying it 
> to the scene-graph geometry node, it would be better to directly create and 
> update the geometry inside the scene-graph. Then, on update, I could try to 
> find out which aspects of the geometry really changed and thus update only 
> the relevant parts. This leads to the following questions:
> 
> 1.) Which is the right entry point in the VTK class hierarchy, i.e. which 
> class would I extend by a derived class to connect to my scene-graph renderer?
> More special: I need to know which object actually creates the geometric 
> primitives such that I can directly create the primitives inside the geometry 
> node of the scene-graph.
> 
> 2.) How can I find out, which changes to the visualization object have 
> occured due to the last update? (In the above example the task would be to 
> find out if the topology is unchanged.)
> 
> 3.) How does this extension fit into the VTK concept of the visualization 
> pipeline, i.e. how and when do I "fire" the pipeline? (The obvious time would 
> be just before the draw method of the renderer is called.)
> 
> Thanks in advance for any help on this topic,
> Peter
> _______________________________________________
> This is the private VTK discussion list. 
> Please keep messages on-topic. Check the FAQ at: <http://public.kitware.com/cgi-bin/vtkfaq>
> Follow this link to subscribe/unsubscribe:
> http://public.kitware.com/mailman/listinfo/vtkusers
> 




More information about the vtkusers mailing list