Hardware Accelerated Volume Rendering Using PC Hardware CSE

  • Slides: 10
Download presentation
Hardware Accelerated Volume Rendering Using PC Hardware CSE 564 Final Demo Evan Closson

Hardware Accelerated Volume Rendering Using PC Hardware CSE 564 Final Demo Evan Closson

Introduction • Seeing stuff in real time is cool. • Need a faster way

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 • 2 D Texture Slices – Needs 3 stacks of slices for each

Techniques • 2 D 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 • 3 D 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. Geforce 4 440

What I Used • • • Limited Hardware to work with. Geforce 4 440 Go 2 D 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

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

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

Trilinear Interpolation • Register Combiners can be used for trilinear interpolation as shown in

Trilinear Interpolation • Register Combiners can be used for trilinear interpolation as shown in the above figure[REZK-SALMA 00]. • Bilinearly interpolate each 2 d 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 Evan Closson Spring 2003

Shading • Register combines can also be used to implement shading. • Take as

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

Demo Evan Closson Spring 2003

References • • • [MEISSNER 02]: "Interactive Lighting Models and Pre-Integration for Volume Rendering

References • • • [MEISSNER 02]: "Interactive Lighting Models and Pre-Integration for Volume Rendering on PC Graphics Accelerators, " Michael Meissner, Stefan Guthe, Wolfgang Strasser (2002). [ENGEL 01]: "High-Quality Pre-Integrated Volume Rendering Using Hardware-Acclerated Pixel Shading, " Klaus Engel, Martin Kraus, Thomas Ertl (2001). [MEISSNER 01]: "High Quality Volume Rendering on PC Graphics Hardware, " Michael Meissner, Stefan Guthe, Wolfgang Strasser (2001). [ENGEL 02]: "Interactive High-Quality Volume Rendering with Flexible Consumer Graphics Hardware, " Klaus Engel, Thomas Ertl. Eurographics (2002). [KNISS 02]: "Interactive Translucent Volume Rendering and Procedural Modeling, " Joe Kniss, Simon Premoze, CHarles Hansen, Davis Ebert (2002). [REZK-SALMA 00]: "Interactive Volume Rendering on Standard PC Graphics Hardware Using Multi-Textures and Multi. Stage Rasterization, " C. Rezk. Salma, K. Engel, M. Bauer, G. Greiner, T. Ertl (2000). Evan Closson Spring 2003