Table of Contents

Preface xi

1 Theoretical Background and Basic Volume Rendering Approaches
1.1 Problem Setting
1.2 Physical Model of Light Transport
1.3 Volume Rendering Integral
1.4 Discretization
1.5 Volume Data and Reconstruction Filters
1.6 Volume Rendering Pipeline and Basic Approaches
1.7 Further Reading

2 GPU Programming
2.1 The Graphics Pipeline
2.2 Vertex Processing
2.3 Fragment Processing
2.4 Frame Buffer Operations
2.5 Further Reading

3 Basic GPU-Based Volume Rendering
3.1 Components
3.2 2D Texture-Based Volume Rendering
3.3 3D Texture-Based Approach
3.4 2D Multi-Textures-Based Approach
3.5 Vertex Programs
3.6 Further Reading

4 Transfer Functions
4.1 Classification
4.2 Implementation of Pre-Classification
4.3 Implementation of Post-Classification
4.4 Pre- vs. Post-Interpolative Transfer Functions
4.5 Pre-Integrated Transfer Functions
4.6 Implementation of Pre-Integrated Transfer Functions
4.7 Discussion
4.8 Further Reading 5 Local Volume Illumination
5.1 Radiance and Irradiance
5.2 Types of Light Sources
5.3 Gradient-Based Illumination
5.4 Local Illumination Models
5.5 Pre-Computed Gradients
5.6 On-the-fly Gradients
5.7 Environment Mapping
5.8 High Dynamic Range Illumination and Volume Rendering
5.9 Further Reading
6 Global Volume Illumination
6.1 Introduction
6.2 Volumetric Shadows
6.3 Phase Functions
6.4 Translucent Volume Lighting
6.5 Shading Strategies
6.6 Further Reading

7 GPU-Based Ray Casting
7.1 Basic Structure of Ray Casting
7.2 Single-Pass GPU Ray Casting for Uniform Grids
7.3 Performance Aspects and Acceleration Methods
7.4 Multi-Pass GPU Ray Casting for Uniform Grids
7.5 Ray Casting in Tetrahedral Grids
7.6 Further Reading

8 Improving Performance
8.1 Swizzling of volume data
8.2 Asynchronous Data Upload
8.3 Bilinear Filtering
8.4 Empty Space Leaping
8.5 Occlusion Culling
8.6 Early Ray-Termination
8.7 Deferred Shading
8.8 Image Downscaling
8.9 Discussion

9 Improving Image Quality
9.1 Sampling Artifacts
9.2 Filtering Artifacts
9.3 Classification Artifacts
9.4 Shading Artifacts
9.5 Blending Artifacts
9.6 Discussion

10 Transfer Functions Reloaded
10.1 Image Data Versus Scalar Field
10.2 Multi-Dimensional Transfer Functions: Introduction
10.3 Data Value and Derivatives
10.4 General Multi-Dimensional Transfer Functions
10.5 Engineering Multi-Dimensional Transfer Functions
10.6 Transfer Function User Interfaces
10.7 Further Reading

11 Game Developer’s Guide to Volume Graphics
11.1 Volume Graphics in Games
11.2 Differences From “Stand-Alone” Volume Rendering
11.3 Guide to Other Chapters
11.4 Integrating Volumes With Scene Geometry
11.5 A Simple Volume Ray-Caster for Games
11.6 Volumetric Effects
11.7 Simulation
11.8 Integrating Volumes With Scene Shadowing and Lighting

12 Volume Modeling
12.1 Rendering into a 3D Texture
12.2 Voxelization
12.3 Procedural Modeling
12.4 Compositing and Image Processing
12.5 Further Reading

13 Volume Deformation and Animation
13.1 Modeling Paradigms
13.2 Deformation in Model Space
13.3 Deformation in Texture Space
13.4 Deformation and Illumination
13.5 Animation Techniques
13.6 Further Reading

14 Non-Photorealistic and Illustrative Techniques
14.1 Overview of Methods
14.2 Basic NPR Shading Models
14.3 Contour Rendering
14.4 Surface and Isosurface Curvature
14.5 Deferred Shading of Isosurfaces
14.6 Curvature-Based Isosurface Illustration

15 Volume Clipping
15.1 Conceptual Description of Volume Clipping
15.2 Clipping via Voxelized Selection Volumes
15.3 Surface-Based Clipping
15.4 Volume Clipping and Illumination
15.5 Clipping and Pre-Integration
15.6 Clipping and Volume Illustration
15.7 Further Reading

16 Segmented Volume Data
16.1 Overview of this Chapter
16.2 Segmented Data Representation
16.3 Rendering Segmented Data
16.4 The Basic Rendering Loop
16.5 Boundary Filtering
16.6 Two-Level Volume Rendering

17 Large Volume Data
17.1 Memory Performance Considerations
17.2 Bricking
17.3 Multi-Resolution Volume Rendering
17.4 Build-in Texture Compression
17.5 Wavelet Compression
17.6 Packing Techniques
17.7 Vector Quantization
17.8 Discussion
17.9 Further Reading

Bibliography

Index