[vtk-developers] Geocoordinate System Filter, 2D Text Manager, 2D Text Preformance, and Buffered Hardware Picking

Philip Schuchardt ohc at vt.edu
Tue Dec 18 16:18:03 EST 2007


I would like to thank you all for all your hard work.  I love the well thought 
out vtk pipeline.  

I'm developing CaveWhere(www.cavewhere.org) and I'm currently using vtk and 
wxWidgets to model underground cave systems.  I have also modified and 
developed some useful filter and fixes to vtk.  I would like to contribute to 
the vtk project.  I'm just wonding, if your interested in:

-- Geocoordinate System Filter --
I work with many geographical coordinate systems (UTM, Stateplane, Lat Long, 
etc.).  I currently working on a filter that takes polydata and transforms 
the data to match current geographic projection(ie. world coordinates).  All 
geocoordinate filters work together to scale and offset all the data around 
the origin.  Scaling and offsetting the data around the origin, reduces 
Z-Buffer persion errors.  Filter's properties will modified by a 
GeocoordinateProperty*. GeocoordinateProperty allow multiple filters to share 
the same geographical coordinate system.  I believe this class would be 
useful for anyone doing geo-spatial visualizations.

-- 2D Text Manager --
I've written a class that managers 3D anchored, 2D text actors.  It keeps 
multiple text actors from overlapping each other.  It also support Z-buffer 
checking, which keeps "hidden" 2D text actors from showing.  

I've also had performance issues while displaying 100's of 2D text actors, at 
once.  I think it's a openGL pipeline issue.  Does vtk/ftgl use display lists 
for 2D text actors?  If it doesn't, I think display lists would greatly 
improved 2D text actors rendering performance.  

-- Buffered Hardware Picking --
Also, I've noticed that vtk doesn't support buffered hardware picking.  

In vtkOpenGLCamera.cxx
vtkgluPickMatrix(ren->GetPickX(), ren->GetPickY(), 1, 1, lowerLeft, size);

1,1 - States that the buffer is 1 pixel by 1 pixel.  This small buffer makes 
it very difficult to select lines or points.  In my project I have extended 
the vtkOpenGLCamera to support buffer greater then 1 by 1 pixels.  

If you like one or more of the ideas please email me back.  I will definitely, 
work on getting my code up VTK specifications.

Philip Schuchardt

More information about the vtk-developers mailing list