Documente Academic
Documente Profesional
Documente Cultură
Outline
Graphic Hardware
Graphic Hardware
Graphic Pipeline
Scene
Description
Vertex
Geometric
Shader
Processing
Raster
Image
Programmable Pipeline
Fragment
Rasterization
Shader
Fragment
Operation
Vertex Shader
Responsibilities
Vertex and normal transformation
Blur and (Per-Vertex) Lighting
Color material application and color clamping
Texture coordinate generation
Fragment Shader
Traditional pipeline
System Memory
Dataset
Cell
Selection
Vertex
labeling
Cell
Indexing
CPU
Vertex
Interpolation
Normal
Computation
Rendering
GPU
Cell
Selection
CPU
Vertex
labeling
Cell
Indexing
Vertex
Interpolation
GPU
Normal
Computation
Rendering
Cell Selection
Vertex Labeling
Vertex Labeling
Interpolation
Start
Object-Aligned Slices
Rendering
Rendering
Time Statistics
Summary
Unstructured grid
Decomposed into
tetrahedra
Reconstruction with
linear interpolation
REAL-TIME VOLUME GRAPHICS
Daniel Weiskopf
Institute of Visualization and Interactive Systems, University of Stuttgrat, Germany
Possible optimizations
Early ray termination
Empty space leaping
Adaptive sampling
Fragment
program
Multi-pass approach
Multiple rendering passes
Constant number of steps per pass
2D textures for accumulating color and opacity
Access volume data from 3D texture map
Ping-pong
scheme
Initial passes
Precompute ray
directions and lengths
Additional passes
Perform raymarching
in parallel for each
pixel
Split up full raymarch
to check for early
termination
Not terminated
Ray Setup
Ray Traversal
Integration
Check Ray
Termination
Terminated
Optimizations
Travis Gorkin
GPU Programming and Architecture, June 2009
Travis Gorkin
GPU Programming and Architecture, June 2009
Applications
Virtual Endoscopy
Applications
Virtual Colonoscopy
Applications
Virtual Colonoscopy
RGBA
For each fragment:
interpolate the
texture coordinates
(barycentric)
Texture-Lookup:
interpolate the
texture color
(bilinear)
Color
channel
d d
G
For each fragment:
interpolate the
texture coordinates
(barycentric)
Texture-Lookup:
interpolate the
RGBA
texture color
(trilinear)
REAL-TIME VOLUME GRAPHICS
Christof Rezk Salama
Computer Graphics and Multimedia Group, University of Siegen, Germany
Viewing angle
3D Print Interface
What is VTK?
Open source, freely available
software for 3D computer
graphics, image processing,
and visualization
Managed by Kitware Inc.
Strictly object-oriented design
(C++)
High-level of abstraction
Use C++, Tcl/Tk, Python,
Java
Website: http://www.vtk.org/
Features of VTK
Ultrafast performance
Intuitive interactive user interface
Exclusive innovative technique for 3D/4D/5D
navigation
Distributed under Open Source licensing - GPL
Open platform for development of processing tools
Features of OrisiX
Mac_OS Version
iPhone Version
Analyze Software
http://developer.download.nvidia.com/compute/cuda/sdk/websi
te/samples.html#volumeRender
Travis Gorkin
GPU Programming and Architecture, June 2009
3D Slicer www.slicer.org
Open source software for visualization and image analysis
Funded by NIH, medical imaging, MRI data
Currently integrating CUDA volume rendering into Slicer 3.2
Travis Gorkin
GPU Programming and Architecture, June 2009
References
http://www.vis.uni-stuttgart.de/vis03_tutorial/
Acceleration Techniques for GPU-Based Volume Rendering
J. Krugger and R. Westermann, IEEE Visualization 2003
http://wwwcg.in.tum.de/Research/data/Publications/vis03-rc.pdf
3D Slicer: Volume Rendering with CUDA
http://www.slicer.org/slicerWiki/index.php/Slicer3:Volume_Rendering_Wi
th_Cuda
References
End!