Hardware Accelerated Volume Rendering Using PC Hardware CSE564 Final Demo Evan Closson.
-
Upload
judith-butler -
Category
Documents
-
view
216 -
download
0
description
Transcript of Hardware Accelerated Volume Rendering Using PC Hardware CSE564 Final Demo Evan Closson.
Hardware Accelerated Volume Rendering Using PC Hardware
CSE564 Final DemoEvan Closson
Introduction
• Seeing stuff in real time is cool.• Need a faster way to visualize volumetric
data.• We can make use of consumer based
graphics hardware to do this.
Evan Closson Spring 2003
Techniques
• 2D Texture Slices– Needs 3 stacks of slices for each axis because the slices
can’t be seen from the side.– High memory– OK quality– Fast
• 3D Textures– Not as readily available – I don’t have support for it,
but it is definitely becoming more widely supported.– Fast
Evan Closson Spring 2003
What I Used
• Limited Hardware to work with.• Geforce4 440 Go• 2D Texture Slices• Texture Palette• Register Combiners for trilinear
interpolation.• OK . . . multitexturing capabilities.
Evan Closson Spring 2003
Rendering
• Create texture palette, mapping intensities to a rgba value.
• Transfer Functions can map directly to this palette.• Slice volume along the x, y, and z axis.• Intensity is the look up into the texture palette.• Extensions GL_EXT_paletted_texture and
GL_EXT_shared_texture_palette
Evan Closson Spring 2003
Rendering• Can’t view slices from the side. Must determine the
closest axis to the camera and render the stack aligned with that axis.
• Cam World Space = Camera Location * Inverse Model View
• The largest component of the world space camera the x,y,z value is the axis that the camera is closest to.
• Once the correct stack is determined map each slice onto a polygon and render back to front with blending enabled.
• Can use different blending functions for different results.
Evan Closson Spring 2003
Evan Closson Spring 2003
Trilinear Interpolation
• Register Combiners can be used for trilinear interpolation as shown in the above figure[REZK-SALMA00].
• Bilinearly interpolate each 2d slice – this happens in standard graphcis hardware.• Then use register combiners to combine slice i and i +1 with an interpolatino factor to
create a trilinearly interpolated slice.• Extensions GL_NV_register_combiners and GL_ARB_multitexture
Shading
• Register combines can also be used to implement shading.
• Take as input the light position, light color, material color, and the gradient texture.
• Use combiners to compute each of the diffuse and specular calculations.
• Ambient values can also be simple added to the color within the combiner.
Evan Closson Spring 2003
Demo
Evan Closson Spring 2003
Final Project.exe
References• [MEISSNER02]: "Interactive Lighting Models and Pre-Integration for
Volume Rendering on PC Graphics Accelerators," Michael Meissner, Stefan Guthe, Wolfgang Strasser (2002).
• [ENGEL01]: "High-Quality Pre-Integrated Volume Rendering Using Hardware-Acclerated Pixel Shading," Klaus Engel, Martin Kraus, Thomas Ertl (2001).
• [MEISSNER01]: "High Quality Volume Rendering on PC Graphics Hardware," Michael Meissner, Stefan Guthe, Wolfgang Strasser (2001).
• [ENGEL02]: "Interactive High-Quality Volume Rendering with Flexible Consumer Graphics Hardware," Klaus Engel, Thomas Ertl. Eurographics (2002).
• [KNISS02]: "Interactive Translucent Volume Rendering and Procedural Modeling," Joe Kniss, Simon Premoze, CHarles Hansen, Davis Ebert (2002).
• [REZK-SALMA00]: "Interactive Volume Rendering on Standard PC Graphics Hardware Using Multi-Textures and MultiStage Rasterization," C. Rezk-Salma, K. Engel, M. Bauer, G. Greiner, T. Ertl (2000).
Evan Closson Spring 2003