Matthew Hall

Projects involving VTK:
 

VTK2CAVE Translator: This small collection of files enables one to display a vtkActor in a CAVE/ Immersadesk/ I-Wall, etc.  with a very small amount of work. It is very stable, very easy to use, and has a built in shared mem. buffering scheme which means that you can use dynamic vtkActors without writing your own double buffering code. Caveats are that it does not yet support vtkCameras, Lights, or Texture Maps, but if there is enough demand, these features can be added fairly easily.
To download the source and a simple example, click here. (15k)
Last Modified : Oct 18, 1999
 

V2V :  This is a project intended to allow one to use VTK in the Virtual Director. The Virtual Director is a CAVE based tool allowing one to, well, direct a movie. Designed for visualization of scientific data, Virtual Director has already been used to choreograph the IMAX film "Cosmic Voyage", and will be used heavily in the upcoming PBS HDTV program, "Mapping the Universe". For more information on this project, click here. (We are currently improving this webpage to be a little more comprehensability).
My responsibilities are:
1) Get VTK to work well in the cave (done, see above)
2) To provide a user interface which works with Virtual Director's wand/voice interface, which also allows real time editing of time based data. We must be able choreograph changing VTK actors with Virtual Director's camera paths, which is being done by splining important parameters of a VTK pipeline, and save these sessions
3) Work with a small group on designing a way to view Adaptive Mesh Refinement files in real time, in the above environment, using VTK to visualize the data, and parallelization to speed up the process.
 
VTKMultiGrid:  An add on to VTK to make Multigridded datasets "first-class" datatypes in VTK. Currently, VTK has no innate support for this, and so working with MG datasets requires painful and unnatural extra code. VTKMultiGrid is a new pipeline to allow easy use of multigridded data (and data derived from multigridded datasets) without abandoning the familiar (hah!) interface of VTK (and hopefully allowing one to use them in Tcl , java,python etc. as well). In addition, threading will be added for two reasons:
1) To make the VTK pipeline an actual pipeline in the CS meaning of the word  (useful even on single-CPU machines)
2) To allow datasets to be filtered in parallel on MP machines.
Though the classes themselves will be simply collections of VTK datasets, one may also be able to attach a structure to them, so
that one may use the MG datasets to represent plain collections of data, or  hierarchical datasets, or AMR data, or whatever structure one wishes to impose, which will allow one to sort, cull, and update data in the most efficient manner availible.

To download a (hacky, undocumented) working prototype click here .
Last Modified: October 1, 1999
The code for an example is in there, and a sample AMR file can be found here .(1.4MB)

The only MultiGrid Reader is to read AMR data in FlexIO format, and only filters which can process data independently across subgrids are currently supported. (No streamlines).
To find out more about FlexIO and the associated AMR format, click here .

vtkOrthoSlicer: A small, fast orthogonal slicer for vtkStructuredPoints datasets. It has the following advantages:
1)There are no extents or odd things to set (it uses the dimensions of the input to determine the dimensions of the slice plane).
2)To use it, you set the input, set the plane normal (x,y, or z axes) and set the x,y, or z coordinate of the plane.
3)It has 2 modes of output: Triangle strips and Quads (actually, polygons). Strips are smaller and faster to compute/render. Quads give better visual output for non-shaded surfaces or shaded wireframes (non-shaded wireframes don't work to well...).
Anyway, you may download the .cxx and .h files here .
Last Modified: October 1, 1999
 
 

mahall@uiuc.edu