Hardware Accelerated Volume Rendering Using PC Hardware CSE564 Final Demo Evan Closson.

10
Hardware Accelerated Volume Rendering Using PC Hardware CSE564 Final Demo Evan Closson

description

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 ClossonSpring 2003

Transcript of Hardware Accelerated Volume Rendering Using PC Hardware CSE564 Final Demo Evan Closson.

Page 1: Hardware Accelerated Volume Rendering Using PC Hardware CSE564 Final Demo Evan Closson.

Hardware Accelerated Volume Rendering Using PC Hardware

CSE564 Final DemoEvan Closson

Page 2: Hardware Accelerated Volume Rendering Using PC Hardware CSE564 Final Demo Evan 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

Page 3: Hardware Accelerated Volume Rendering Using PC Hardware CSE564 Final Demo Evan Closson.

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

Page 4: Hardware Accelerated Volume Rendering Using PC Hardware CSE564 Final Demo Evan Closson.

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

Page 5: Hardware Accelerated Volume Rendering Using PC Hardware CSE564 Final Demo Evan Closson.

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

Page 6: Hardware Accelerated Volume Rendering Using PC Hardware CSE564 Final Demo Evan Closson.

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

Page 7: Hardware Accelerated Volume Rendering Using PC Hardware CSE564 Final Demo Evan Closson.

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

Page 8: Hardware Accelerated Volume Rendering Using PC Hardware CSE564 Final Demo Evan Closson.

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

Page 9: Hardware Accelerated Volume Rendering Using PC Hardware CSE564 Final Demo Evan Closson.

Demo

Evan Closson Spring 2003

Final Project.exe

Page 10: Hardware Accelerated Volume Rendering Using PC Hardware CSE564 Final Demo Evan Closson.

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