[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


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 J. Rajlich - prajlich at ncsa.uiuc.edu
               Visualization and Virtual Environments
           National Center for Supercomputing Applications

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