1 / 20

VTK: The Visualization Toolkit

VTK: The Visualization Toolkit. Part I: Overview and object models March 28, 2001. What is VTK?. Software Hardware. Data. Volume Rendering. Isosurface Extraction. Vector Field Visualization. What is VTK?.

scot
Download Presentation

VTK: The Visualization Toolkit

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. VTK: The Visualization Toolkit Part I: Overview and object models March 28, 2001

  2. What is VTK?

  3. Software Hardware Data Volume Rendering

  4. Isosurface Extraction

  5. Vector Field Visualization

  6. What is VTK? • An open source, freely available software system for 3D graphics, image processing, and visualization. • Support for hundreds of algorithms in visualization and image processing • Object-oriented design with different interpreted language wrapers.

  7. At a Glance • The core of VTK is written entirely in C++ • Contains 600 existing classes with 325K lines of code • VTK will compile and run on Windows 98/NT, SGI, Linux, Sun, HP, etc. • Support OpenGL and Mesa • Different interfaces for fast prototyping: Tcl/Tk, Java, and Python • Have users all over the world – The beauty of Open Source!

  8. Interpreted Wrapper (Tcl, Java, Python) [ Why?] • Tcl/Tk shell • Java interpreter • Python interpreter • Tcl/Tk source • Java JDK • Python source C++ core All class source code (could take hours to compile) Libraries and includes (dll and .h files) Or (.a and .h files) Binary Installation: if you will use The classes to build your applicatoin Source code Installation: If you want to extend vtk System Architecture

  9. Installation (1) Windows 9x/NT/2000 • Binary: vtk32Core, vtk32Cpp, vtk32Tcl, vtk32Java, vtk32Python (dll and includes) They will install Tcl/Tk for you (for example) if your PCdoes not have one already. With this installed, you can run their sample programs and write your own C++ application. • Source: You will need VC++ 6.0 installed too.

  10. Installation (2) Unix (alpha,beta, etc) :I have installed a copy on /usr/class/cis788.14Q/vtk3.2 = path • Library: $path/common/libVTKCommon.a $path/graphics/libVTKGraphics.a $path/imaging/libVTKImaging.a also there are directories ‘patented’ and ‘contrib’ that you might use. • Includes: -I$path/common –I$path/graphics –I$path/imaging Check the makefile in $path/graphics/exampleCxx/Makefile

  11. Installation (2.1) • CIS unix servers will be slow as we do not have native • OpenGL support. Instead, we use Mesa3d. But you • can do your labs in any of the CIS labs • Only C++ is supported (not Tcl/Tk at least) • When use the server to run vtk examples, you need to do • setenv LD_LIBRARY_PATH /n/gold/1/graphics/Mesa3.0/lib • We probably can install a copy on albatross (graphics • lab server)

  12. VTK classes

  13. Data source Visualizatoin Graphics VTK Object models • Graphics and Visualization Model • Graphics objects: rendering • Visualization objects: generating geometry Data Flow System: Pipeline execution

  14. Pipeline Execution Direction of ‘update’ Render Visualization model Graphics model Source Filter Mapper Actor Direction of data flow

  15. camera Light screen Actor The Graphics Model The purpose is to render the geometry (volume) on the screen

  16. The Graphics Model The purpose is to render the geometry (volume) on the screen vtkCamera • vtkActor • vtkProperty • vtkMapper • vtkTransform vtkLight vtkRenderWindow vtkRenderer vtkRenderWindowInteractor

  17. To see is to believe … 1 vtkRenderWindow vtkCamera 2 vtkRenderer vtkLight vtkActor ( property, geometry(mapper), transformation, etc)

  18. Example Program Main() { create a window; create a renderer; give the renderer to the window; create procedural geometry; create a mapper; give the geometry to the mapper; create an actor; give the mapper to the actor; give the actor to the renderer; window->render(); } Window Renderer Actor Mapper Geometry

  19. User interaction • vtkRenderWindowInteractor – allow the user to interact with the graphics objects • Try the following keypresses: w: wireframe mode s: surface mode r: reset the transformation 3: toggle stereo button 3: zoom; botton 2: pan; button1: rotate; c/o: camera mode or object mode j/t: joy stick or tracer ball mode e: exit

  20. Go home to do the following… • Install VTK (in your PC) • Run Tcl or C++ examples • Build C++ examples OR • Use the VTK installation on beta: • /usr/class/cis788.14Q/vtk3.2/ • Copy a couple of examples in graphics/examplesCxx to your local directory • Modify the makefile there and compile from your local directory • Give it a try!

More Related