Advanced Computer Graphics and Visualization Spring 2007 Erik

Advanced Computer Graphics and Visualization Spring 2007 Erik

Advanced Computer Graphics and Visualization Spring 2008 Filip Malmberg [email protected] IT Uppsala universitet UU/IT VTK – The Visualization ToolKit . What is VTK? . What can VTK be used for? . How to actually use VTK? @ UU/IT 08-01-29 | #2 UU/IT VTK – The Visualization ToolKit . Open source, freely available software for • 3D computer graphics • image processing • visualization . Managed by Kitware, Inc. Object-oriented design (C++) . High-level of abstraction . Use C++, Tcl/Tk, Python, Java @ UU/IT 08-01-29 | #3 UU/IT True visualization system . Techniques for visualizing • scalar fields • vector fields • tensor fields . Polygon reduction . Mesh smoothing . Image processing . Your own algorithms @ UU/IT 08-01-29 | #4 UU/IT Additional features . Parallel support • message passing • multi-threading . Stereo support . Integrates with Motif, Qt, Tcl/Tk, Python/Tk, X11, Windows, ... Event handling . 3D widgets @ UU/IT 08-01-29 | #5 UU/IT 3D graphics . Surface rendering . Volume rendering • Ray casting • Texture mapping (2D, 3D) . Lights and cameras . Textures . Save render window to .png, .jpg, ... (useful for movie creation) @ UU/IT 08-01-29 | #6 UU/IT Data Representation . Collection of cells & points . Cells specify topology • Shape such as triangle, tetrahedron . Points specify geometry • Point coordinates assigned to a topology . Data attributes • Data associated with topology or geometry @ UU/IT 08-01-29 | #7 UU/IT Data attributes assigned to points or cells . Scalar . Vector • magnitude and direction . Normal • a vector of magnitude 1 • used for lighting . Texture coordinate • mapping data points into a texture space . Tensor @ UU/IT 08-01-29 | #8 UU/IT Visualization of attributes . Scalar fields • Color Mapping . vtkLookupTable . vtkScalarsToColors . vtkColorTransferFunction • Contouring . vtkContourFilter . vtkMarchingCubes @ UU/IT 08-01-29 | #9 UU/IT Visualization of attributes . Vector fields • Glyphs . vtkGlyph3D • Streamlines/points/tubes . vtkStreamer . vtkStreamLine . vtkStreamPoints @ UU/IT 08-01-29 | #10 UU/IT Visualization of attributes . Tensor fields • vtkTensor • vtkTensorGlyph @ UU/IT 08-01-29 | #11 UU/IT The Visualization Pipeline DATA Visualization algorithms FILTER MAPPING Interactive feedback DISPLAY @ UU/IT 08-01-29 | #12 UU/IT Objects . Data objects • e.g. vtkPolyData, vtkImageData . Process objects • Source objects (vtkReader, vtkSphereSource) • Filter objects (vtkContourFilter) • Mapper objects (vtkPolyDataMapper) @ UU/IT 08-01-29 | #13 UU/IT 7 basic VTK objects to render a scene 1. vtkRenderWindow: manages a window on the display device 2. vtkRenderer: coordinates the rendering process involving lights, cameras, and actors 3. vtkLight: a source of light to illuminate the scene 4. vtkCamera: defines the view position, focal point, etc. 5. vtkActor: represents an object rendered in the scene, both its properties and position in the world coordinate system 6. vtkProperty: defines the appearance properties of an actor including colour, transparency, and lighting properties such as specular and diffuse. Also representational properties like wireframe and solid surface 7. vtkMapper: the geometric representation for an actor. More than one actor may refer to the same mapper @ UU/IT 08-01-29 | #14 UU/IT Cube example http://www.it.uu.se/edu/course/avgrafik/vt07/ @ UU/IT 08-01-29 | #15 UU/IT User interaction . vtkRenderWindowInteractor • allows the user to interact with the objects . Try the following key presses w wireframe mode s surface mode j joystick mode t trackball mode button1 rotate button2 translate button3 scale r reset camera view e, q exit @ UU/IT 08-01-29 | #16 UU/IT Sphere example http://www.it.uu.se/edu/course/avgrafik/vt07/ @ UU/IT 08-01-29 | #17 UU/IT VTK and C++ . Build with CMake and your favorite compiler . CMake generates makefiles or project files for your environment . Use the resulting file(s) to build your executable . Under Windows you can use Microsoft Visual C++ 8 Express Edition . You have to install Tcl and/or Python to run vtk scripts @ UU/IT 08-01-29 | #18 UU/IT VTK and Python . Interpreted scripting language, allows rapid development. Easy to learn if you know e.g. C++ or Java. More information available on www.python.org @ UU/IT 08-01-29 | #19 UU/IT VTK resources . www.vtk.org • Download • Documentation • Mailing lists • Links • FAQ, Search . www.kitware.com • VTK Textbook • VTK User’s guide • Mastering CMake @ UU/IT 08-01-29 | #20 UU/IT VTK Examples . Really useful for getting started . Available on the VTK webpage or in the VTK folder. @ UU/IT 08-01-29 | #21 UU/IT VTK documentation @ UU/IT 08-01-29 | #22 UU/IT Summary + . Free and open source . Create graphics/visualization applications fairly fast . Object oriented - easy to derive new classes . Build applications using “interpretive” languages Tcl, Python, and Java . Many (state-of-the-art) algorithms . Heavily tested in real-world applications . Large user base provides decent support . Commercial support and consulting available @ UU/IT 08-01-29 | #23 UU/IT Summary - . Not a super-fast graphics engine due to portability and C++ dynamic binding – you need a decent workstation . Very large class hierarchy learning threshold might be steep @ UU/IT 08-01-29 | #24 UU/IT Questions? @ UU/IT 08-01-29 | #25 UU/IT Computer exercises 2008 . 2 assignments on VTK @ UU/IT 08-01-29 | #26 UU/IT Computer exercises 2008 . 2 assignments on shader programming with the OpenGL shading language @ UU/IT 08-01-29 | #27 UU/IT Computer exercises 2008 . Bonus deadline is next lab session • Give a demonstration of your program • Show source code • Be able to answer questions . A1, A3 = 1p A2, A4 = 2p @ UU/IT 08-01-29 | #28 UU/IT Computer exercises 2008 . Lab 1 Wednesday January 30 8:15-12:00 P1312D Basics of VTK . UpUnet account, UU-LOCAL, password C . VTK 5.0.0 is installed in • G:\Program\ACGV\VTK-5.0.0 . You need to set the proper paths, run the script in a command prompt • G:\Program\ACGV\set_paths.bat @ UU/IT 08-01-29 | #29.

View Full Text

Details

  • File Type
    pdf
  • Upload Time
    -
  • Content Languages
    English
  • Upload User
    Anonymous/Not logged-in
  • File Pages
    29 Page
  • File Size
    -

Download

Channel Download Status
Express Download Enable

Copyright

We respect the copyrights and intellectual property rights of all users. All uploaded documents are either original works of the uploader or authorized works of the rightful owners.

  • Not to be reproduced or distributed without explicit permission.
  • Not used for commercial purposes outside of approved use cases.
  • Not used to infringe on the rights of the original creators.
  • If you believe any content infringes your copyright, please contact us immediately.

Support

For help with questions, suggestions, or problems, please contact us