VIS Group, University of Stuttgart Tutorial T4: Programmable Graphics Hardware for Interactive Visualization Volume Graphics - Advanced Klaus Engel Volume.

Slides:



Advertisements
Similar presentations
ENV 2006 CS4.1 Envisioning Information: Case Study 4 Focus and Context for Volume Visualization.
Advertisements

High-Quality Unstructured Volume Rendering on the PC Platform High-Quality Unstructured Volume Rendering on the PC Platform Hardware Workshop 2002 Stefan.
Normal Map Compression with ATI 3Dc™ Jonathan Zarge ATI Research Inc.
VIS Group, University of Stuttgart Tutorial T4: Programmable Graphics Hardware for Interactive Visualization Pre-Integrated Splatting (Stefan Roettger)
Direct Volume Rendering. What is volume rendering? Accumulate information along 1 dimension line through volume.
Topology-Caching for Dynamic Particle Volume Raycasting Jens Orthmann, Maik Keller and Andreas Kolb, University of Siegen.
Fast Volumetric Display of Natural Gaseous Phenonema Stefan Roettger Thomas Ertl University of Erlangen.
CS-378: Game Technology Lecture #9: More Mapping Prof. Okan Arikan University of Texas, Austin Thanks to James O’Brien, Steve Chenney, Zoran Popovic, Jessica.
REAL-TIME VOLUME GRAPHICS Christof Rezk Salama Computer Graphics and Multimedia Group, University of Siegen, Germany Eurographics 2006 Real-Time Volume.
Other DVR Algorithms and A Comparison Jian Huang, CS 594, Spring 2002.
Siggraph/Eurographics Workshop on Graphics Hardware 2001
Interactive High-Quality Volume Rendering on Flexible Consumer Graphics Hardware Klaus Engel, Martin Kraus, Thomas Ertl Visualization and Interactive Systems.
Real-Time Rendering TEXTURING Lecture 02 Marina Gavrilova.
CS 551 / CS 645 Antialiasing. What is a pixel? A pixel is not… –A box –A disk –A teeny tiny little light A pixel is a point –It has no dimension –It occupies.
Rasterization and Ray Tracing in Real-Time Applications (Games) Andrew Graff.
High-Quality Volume Graphics on Consumer PC Hardware
Shadow Silhouette Maps Pradeep Sen, Mike Cammarano, Pat Hanrahan Stanford University.
Direct Volume Rendering Joe Michael Kniss Scientific Computing and Imaging Institute University of Utah.
IN4151 Introduction 3D graphics 1 Introduction to 3D computer graphics part 2 Viewing pipeline Multi-processor implementation GPU architecture GPU algorithms.
Hardware-Based Nonlinear Filtering and Segmentation using High-Level Shading Languages I. Viola, A. Kanitsar, M. E. Gröller Institute of Computer Graphics.
Hardware-Assisted Visibility Sorting for Tetrahedral Volume Rendering Steven Callahan Milan Ikits João Comba Cláudio Silva Steven Callahan Milan Ikits.
Smart Hardware- Accelerated Volume Rendering Stefan Roettger Stefan Guthe Daniel Weiskopf Wolfgang Strasser Thomas Ertl.
Volume Rendering using Graphics Hardware
Interactive Visualization of Volumetric Data on Consumer PC Hardware: Introduction Daniel Weiskopf Graphics Hardware Trends Faster development than Moore’s.
Stefan Roettger University of Stuttgart A Two-Step Approach for Interactive Pre-Integrated Volume Rendering of Unstructured Grids VolVis '02 A Two-Step.
Definitions Spectral Elements – data structures that contain information about data at points within each geometric entity. Finite elements only hold information.
Rendering hair with graphics hardware Tae-Yong Kim Rhythm & Hues Studios
REAL-TIME VOLUME GRAPHICS Markus Hadwiger VRVis Research Center, Vienna Eurographics 2006 Real-Time Volume Graphics [04] GPU-Based Ray-Casting.
Graphics Hardware 2002 Saarbrücken September 1-2, 2002 Adaptive Texture Maps Martin Kraus and Thomas Ertl VIS Group, Universität Stuttgart.
Lecture 3 : Direct Volume Rendering Bong-Soo Sohn School of Computer Science and Engineering Chung-Ang University Acknowledgement : Han-Wei Shen Lecture.
Graphics Graphics Korea University cgvr.korea.ac.kr 1 Texture Mapping 고려대학교 컴퓨터 그래픽스 연구실.
Interactive Rendering of Meso-structure Surface Details using Semi-transparent 3D Textures Vision, Modeling, Visualization Erlangen, Germany November 16-18,
Smart Hardware-Accelerated Volume Rendering Stefan Roettger Stefan Guthe Daniel Weiskopf.
Scientific Visualization Module 6 Volumetric Algorithms (adapted by S.V. Moore – slides deleted, modified, and added) prof. dr. Alexandru (Alex) Telea.
09/09/03CS679 - Fall Copyright Univ. of Wisconsin Last Time Event management Lag Group assignment has happened, like it or not.
ITUppsala universitet Advanced Computer Graphics Filip Malmberg
VIS Group, University of Stuttgart Tutorial T4: Programmable Graphics Hardware for Interactive Visualization Adaptive Terrain Slicing (Stefan Roettger)
VIS Group, University of Stuttgart Tutorial T4: Programmable Graphics Hardware for Interactive Visualization Texture Compression (Martin Kraus) Texture.
Unstructured Volume Rendering Jian Huang, CS 594, Spring 2002 This set of slides reference slides developed by Prof. Torsten Moeller, SFU, Canada.
Efficient Rendering of Local Subsurface Scattering Tom Mertens 1, Jan Kautz 2, Philippe Bekaert 1, Frank Van Reeth 1, Hans-Peter Seidel
CMSC 635 Volume Rendering. Volume data  3D Scalar Field: F(x,y,z) = ?  Implicit functions  Voxel grid  Scalar data  Density  Temperature  Wind.
Volume Rendering CMSC 491/635. Volume data  3D Scalar Field: F(x,y,z) = ?  Implicit functions  Voxel grid  Scalar data  Density  Temperature  Wind.
VIS Group, University of Stuttgart Tutorial T4: Programmable Graphics Hardware for Interactive Visualization Non-photorealistic rendering (Daniel Weiskopf)
Advanced Computer Graphics Advanced Shaders CO2409 Computer Graphics Week 16.
Computer Graphics 2 Lecture 7: Texture Mapping Benjamin Mora 1 University of Wales Swansea Pr. Min Chen Dr. Benjamin Mora.
Hardware-accelerated Rendering of Antialiased Shadows With Shadow Maps Stefan Brabec and Hans-Peter Seidel Max-Planck-Institut für Informatik Saarbrücken,
REAL-TIME VOLUME GRAPHICS Klaus Engel Siemens AG, Erlangen, Germany Eurographics 2006 Real-Time Volume Graphics [05] Transfer Functions.
Volume Clipping via Per-Fragment Operations in Texture-Based Volume Visualization Visualization and Interactive Systems Group University of Stuttgart Germany.
Hardware-accelerated Point-based Rendering of Surfaces and Volumes Eduardo Tejada, Tobias Schafhitzel, Thomas Ertl Universität Stuttgart, Germany.
Electronic Visualization Laboratory (EVL) University of Illinois at Chicago Paper-4 Interactive Translucent Volume Rendering and Procedural Modeling Joe.
CHAPTER 10 VOLUME VISUALIZATION. OUTLINE 3D (volumetric) scalar fields Slice plane and isosurfaces techniques are limited in showing only a subset of.
Motivation Properties of real data sets Surface like structures
Real-Time Relief Mapping on Arbitrary Polygonal Surfaces Fabio Policarpo Manuel M. Oliveira Joao L. D. Comba.
3/16/04James R. McGirr1 Interactive Rendering of Large Volume Data Sets Written By : Stefan Guthe Michael Wand Julius Gonser Wolfgang Straβer University.
Hardware Accelerated Volume Rendering Using PC Hardware CSE564 Final Demo Evan Closson.
Ray Tracing using Programmable Graphics Hardware
Pixel Shader  Based on nVIDIA’s GF3/4 architecture  Texture shader + register combiner texture unit 0texture program texture unit 1texture program texture.
Pre-Integrated Volume Rendering: Past, Present, Future
High-Quality Pre-Integrated Volume Rendering Using Hardware Accelerated Pixel Shading Klaus Engel, Martin Kraus, Thomas Ertl Visualization and Interactive.
Real-Time Relief Mapping on Arbitrary Polygonal Surfaces Fabio Policarpo Manuel M. Oliveira Joao L. D. Comba.
1 Interactive Volume Isosurface Rendering Using BT Volumes John Kloetzli Marc Olano Penny Rheingans UMBC.
Texture Mapping cgvr.korea.ac.kr.
Hardware-Based Cell Projection
Real-time Rendering Lab 4
Real-Time Volume Graphics [06] Local Volume Illumination
Introduction to Programmable Hardware
Volume Rendering Lecture 21.
Texture Mapping 고려대학교 컴퓨터 그래픽스 연구실.
Adding Surface Detail 고려대학교 컴퓨터 그래픽스 연구실.
Adding Surface Detail 고려대학교 컴퓨터 그래픽스 연구실.
Presentation transcript:

VIS Group, University of Stuttgart Tutorial T4: Programmable Graphics Hardware for Interactive Visualization Volume Graphics - Advanced Klaus Engel Volume Graphics on Consumer PC Hardware Advanced Techniques Klaus Engel

VIS Group, University of Stuttgart Tutorial T4: Programmable Graphics Hardware for Interactive Visualization Volume Graphics - Advanced Klaus Engel Ray Integration discrete approximation of Volume Rendering Integral will converge against correct result for d -> 0 scalar field can be correctly reconstructed with sampling rate according to the Nyquist frequency

VIS Group, University of Stuttgart Tutorial T4: Programmable Graphics Hardware for Interactive Visualization Volume Graphics - Advanced Klaus Engel High Frequency Transfer Functions High frequencies in the transfer function T increase required sampling rate x s(x) s T(s) x T(s (x) )

VIS Group, University of Stuttgart Tutorial T4: Programmable Graphics Hardware for Interactive Visualization Volume Graphics - Advanced Klaus Engel High Frequency Transfer Functions Cryoelectron-microscopic Volume Isosurface of Escherichia Coli Ribosome at 18 Ångström 64 data slices10 times more slices s T(s)

VIS Group, University of Stuttgart Tutorial T4: Programmable Graphics Hardware for Interactive Visualization Volume Graphics - Advanced Klaus Engel High Frequency Transfer Functions multiple peaks 50 x more slices s T(s)

VIS Group, University of Stuttgart Tutorial T4: Programmable Graphics Hardware for Interactive Visualization Volume Graphics - Advanced Klaus Engel High Frequency Transfer Functions Red: piecewise linear Green: random Blue: piecewise linear Alpha: identity

VIS Group, University of Stuttgart Tutorial T4: Programmable Graphics Hardware for Interactive Visualization Volume Graphics - Advanced Klaus Engel Pre- and Postclassification Voxel Interpolation Pre-Classification Classification Transfer-Functions Post-Classification Classification Interpolation

VIS Group, University of Stuttgart Tutorial T4: Programmable Graphics Hardware for Interactive Visualization Volume Graphics - Advanced Klaus Engel Pre- and Postclassification Pre-Classification – no high-frequencies from TF Post-Classification – reproduces high-frequencies on the slice polygons – to reproduce high frequencies in between slices => render many slices

VIS Group, University of Stuttgart Tutorial T4: Programmable Graphics Hardware for Interactive Visualization Volume Graphics - Advanced Klaus Engel Pre-Integrated Classification – split numerical integration into -one pre-integration for the TF -one integration for the scalar field – slab-by-slab rendering slice-by-slice slab-by-slab

VIS Group, University of Stuttgart Tutorial T4: Programmable Graphics Hardware for Interactive Visualization Volume Graphics - Advanced Klaus Engel Pre-Integrated Classification sfsf sbsb d slice rendering shell rendering

VIS Group, University of Stuttgart Tutorial T4: Programmable Graphics Hardware for Interactive Visualization Volume Graphics - Advanced Klaus Engel Pre-Integrated Volume Rendering Pre-Integration of all possible combinations save values In table sfsf sbsb sbsb sfsf Pre-processing

VIS Group, University of Stuttgart Tutorial T4: Programmable Graphics Hardware for Interactive Visualization Volume Graphics - Advanced Klaus Engel Pre-Integrated Volume Rendering project back slice sfsf sbsb front slice back slice Rendering

VIS Group, University of Stuttgart Tutorial T4: Programmable Graphics Hardware for Interactive Visualization Volume Graphics - Advanced Klaus Engel Pre-Integrated Volume Rendering s f s b slice utilize s f and s b as texture coordinates for the dependent texture sfsf sbsb fetch s f and s b during rasterization Rendering

VIS Group, University of Stuttgart Tutorial T4: Programmable Graphics Hardware for Interactive Visualization Volume Graphics - Advanced Klaus Engel Pre-Integrated Volume Rendering s f s b slice fetch pre-integrated ray-segment sfsf sbsb texture polygon with pre-integrated value Rendering

VIS Group, University of Stuttgart Tutorial T4: Programmable Graphics Hardware for Interactive Visualization Volume Graphics - Advanced Klaus Engel Pre-Integrated Volume Rendering Fetch of pre-integrated values requires dependent texture fetch – GL_DEPENDENT_AR_TEXTURE_2D_NV Fetch of pre-integrated values requires dependent texture fetch – GL_DEPENDENT_AR_TEXTURE_2D_NV RGBA R A

VIS Group, University of Stuttgart Tutorial T4: Programmable Graphics Hardware for Interactive Visualization Volume Graphics - Advanced Klaus Engel Pre-Integrated Volume Rendering dependent texture fetch with R-components of two slices RGBA R R

VIS Group, University of Stuttgart Tutorial T4: Programmable Graphics Hardware for Interactive Visualization Volume Graphics - Advanced Klaus Engel Pre-Integrated Volume Rendering RGB (1,0,0)=R R R implementation (NVIDIA) GL_DOT_PRODUCT_TEXTURE2D_NV implementation (NVIDIA) GL_DOT_PRODUCT_TEXTURE2D_NV

VIS Group, University of Stuttgart Tutorial T4: Programmable Graphics Hardware for Interactive Visualization Volume Graphics - Advanced Klaus Engel Pre-Integrated Volume Rendering implementation (ATI) glSampleMapATI implementation (ATI) glSampleMapATI RGBA RGBARGBA R G mov

VIS Group, University of Stuttgart Tutorial T4: Programmable Graphics Hardware for Interactive Visualization Volume Graphics - Advanced Klaus Engel Pre-Integrated Classification problem: pre-integration for each TF ~ 20sec. on Athlon650 => no interactive change of TF acceleration (<0.05 sec.): – use integral functions – requires to neglect self-attenuation problem: pre-integration for each TF ~ 20sec. on Athlon650 => no interactive change of TF acceleration (<0.05 sec.): – use integral functions – requires to neglect self-attenuation  sfsf sbsb 0  sfsf sbsb 0 - = O(n 2 ) O(n)

VIS Group, University of Stuttgart Tutorial T4: Programmable Graphics Hardware for Interactive Visualization Volume Graphics - Advanced Klaus Engel Pre-Integrated Volume Rendering 128 slices pre- classification 128 slices pre-integrated 284 slices post- classification 128 slices post- classification

VIS Group, University of Stuttgart Tutorial T4: Programmable Graphics Hardware for Interactive Visualization Volume Graphics - Advanced Klaus Engel Pre-Integrated Volume Rendering Pre-Classification Post-Classification Pre-Integrated- Classification

VIS Group, University of Stuttgart Tutorial T4: Programmable Graphics Hardware for Interactive Visualization Volume Graphics - Advanced Klaus Engel Pre-Integrated Volume Rendering single peak

VIS Group, University of Stuttgart Tutorial T4: Programmable Graphics Hardware for Interactive Visualization Volume Graphics - Advanced Klaus Engel Pre-Integrated Volume Rendering multiple peaks

VIS Group, University of Stuttgart Tutorial T4: Programmable Graphics Hardware for Interactive Visualization Volume Graphics - Advanced Klaus Engel Pre-Integrated Volume Rendering many peaks

VIS Group, University of Stuttgart Tutorial T4: Programmable Graphics Hardware for Interactive Visualization Volume Graphics - Advanced Klaus Engel Pre-Integrated Volume Rendering noise volume inside car

VIS Group, University of Stuttgart Tutorial T4: Programmable Graphics Hardware for Interactive Visualization Volume Graphics - Advanced Klaus Engel Pre-Integrated Volume Rendering homogeneous region inhomogeneous region

VIS Group, University of Stuttgart Tutorial T4: Programmable Graphics Hardware for Interactive Visualization Volume Graphics - Advanced Klaus Engel Pre-Integrated Isosurfaces isosurface  s f <= s iso <=s b or s f >= s iso >=s b s iso sfsf sfsf sbsb front slice back slice

VIS Group, University of Stuttgart Tutorial T4: Programmable Graphics Hardware for Interactive Visualization Volume Graphics - Advanced Klaus Engel isosurfaces: particular dependent tex 3296 sfsf sbsb front slice back slice 1. 1 front slice back slice 4. 4 front slice back slice 2. 2 front slice back slice a Pre-Integrated Isosurfaces

VIS Group, University of Stuttgart Tutorial T4: Programmable Graphics Hardware for Interactive Visualization Volume Graphics - Advanced Klaus Engel Pre-Integrated Isosurfaces sbsb sbsb front slice back slice gfgf gbgb g g =  g b + (1-  ) g f  = (s iso – s f )/(s b – s f ) gradient interpolation RBGA g x g y g z s

VIS Group, University of Stuttgart Tutorial T4: Programmable Graphics Hardware for Interactive Visualization Volume Graphics - Advanced Klaus Engel Pre-Integrated Isosurfaces there´s no per-fragment division available in current graphics hardware (NV2x,R300) =>store  in dependent texture no more texture fetches available? =>use one dep.tex. for color and  =>store  in ALPHA there´s no per-fragment division available in current graphics hardware (NV2x,R300) =>store  in dependent texture no more texture fetches available? =>use one dep.tex. for color and  =>store  in ALPHA

VIS Group, University of Stuttgart Tutorial T4: Programmable Graphics Hardware for Interactive Visualization Volume Graphics - Advanced Klaus Engel Pre-Integrated Isosurfaces lighting – NVIDIA -dot product lighting (register combiners) -lightmap (texture shaders) (will require more texture shader fetches than currently available) – ATI -dot product lighting (fragment shaders) -lightmap (fragment shaders) lighting – NVIDIA -dot product lighting (register combiners) -lightmap (texture shaders) (will require more texture shader fetches than currently available) – ATI -dot product lighting (fragment shaders) -lightmap (fragment shaders)

VIS Group, University of Stuttgart Tutorial T4: Programmable Graphics Hardware for Interactive Visualization Volume Graphics - Advanced Klaus Engel Pre-Integrated Isosurfaces Results

VIS Group, University of Stuttgart Tutorial T4: Programmable Graphics Hardware for Interactive Visualization Volume Graphics - Advanced Klaus Engel Pre-Integrated Isosurfaces

VIS Group, University of Stuttgart Tutorial T4: Programmable Graphics Hardware for Interactive Visualization Volume Graphics - Advanced Klaus Engel Pre-Integrated Isosurfaces direct isosurfacevolume shading

VIS Group, University of Stuttgart Tutorial T4: Programmable Graphics Hardware for Interactive Visualization Volume Graphics - Advanced Klaus Engel Beyond SciVis

VIS Group, University of Stuttgart Tutorial T4: Programmable Graphics Hardware for Interactive Visualization Volume Graphics - Advanced Klaus Engel Volumetric FX Idea: Ebert et al.: Texturing and Modeling: A Procedural Approach, Academic Press, 1998 coarse volume for macrostructure procedural noise for microstructure

VIS Group, University of Stuttgart Tutorial T4: Programmable Graphics Hardware for Interactive Visualization Volume Graphics - Advanced Klaus Engel Volumetric FX two basic approaches – perturb data access -cannot produce new data values -implemented by texture coordinate distortion (offset textures) -good for perturbation of boundaries -perturb data -can produces new data values -implemented by blending of data and noise -also perturbs homogeneous regions two basic approaches – perturb data access -cannot produce new data values -implemented by texture coordinate distortion (offset textures) -good for perturbation of boundaries -perturb data -can produces new data values -implemented by blending of data and noise -also perturbs homogeneous regions

VIS Group, University of Stuttgart Tutorial T4: Programmable Graphics Hardware for Interactive Visualization Volume Graphics - Advanced Klaus Engel Volumetric FX RGB texture Radial distance volume Perlin noise ++

VIS Group, University of Stuttgart Tutorial T4: Programmable Graphics Hardware for Interactive Visualization Volume Graphics - Advanced Klaus Engel Volumetric FX Pre-Integration + noising dot-product weighting Pre-Integration + noising dot-product weighting (,,)=S 0 (,,)=S 1 S0S0 S1S1 RGB (,,)=R

VIS Group, University of Stuttgart Tutorial T4: Programmable Graphics Hardware for Interactive Visualization Volume Graphics - Advanced Klaus Engel Volumetric FX Pre-Integration + noising – animation: -change weighting through texture coords. => distortion of dependent lookup -color cycling with transfer functions => outwards movement Pre-Integration + noising – animation: -change weighting through texture coords. => distortion of dependent lookup -color cycling with transfer functions => outwards movement

VIS Group, University of Stuttgart Tutorial T4: Programmable Graphics Hardware for Interactive Visualization Volume Graphics - Advanced Klaus Engel Conclusions Pre-Integrated Volume Rendering – great quality, less slices – less error due to pre-processing – reproduces high frequencies from transfer function – arbitrary number of lit isosurfaces in a single pass Volumetric FX – coarse macrostructure, details from noise and TF – animate TF and weighting of volumes for dynamics – give something back to the gaming industry in return for the new great graphics hardware

VIS Group, University of Stuttgart Tutorial T4: Programmable Graphics Hardware for Interactive Visualization Volume Graphics - Advanced Klaus Engel Q&A Thank you for your attention! Questions ? Want to know more ? Wed. 16:00-17:30 - STAR(S2): Interactive High-Quality Volume Rendering on Flexible Consumer Graphics Hardware