Advanced Compositing, Texturing and Volume Rendering

CSE 788.14A Special Topics Course

Vital Stats

Overview

Realistic renderings and even good black-and-white illustrations make heavy usage of patterns and textures. Quite often, these textures attempt to mimic the characteristics of an underlying three-dimensional material, rich in intricate details. In computer graphics, materials such as marble, knotty pine wood, and granite can be modeled using a 3D texture and 3D sampling algorithms. In this course, we will examine the features of texture-mapping available in current hardware, and explore techniques for creating procedural textures for three-dimensional objects. Texture-mapping is also used to resample and composite many semi-transparent geometric proxies for volume rendering algorithms. We will examine state-of-the-art and efficient implementations for 2D and 3D texture-based volume rendering on modern day GPU’s, such as the Department’s ATI Radeon 9600 Pro’s. The course will offer a good mix of theory and practical software development. Expertise in OpenGL is a prerequisite, CIS 781 would be preferred, but CIS 581/681 is acceptable. However, we will also examine issues in direct-manipulation and user-interfaces for volume rendering. In particular, we will look at the .NET framework and how to coordinate disparate control devices remotely to a rendering engine. As such, anyone familiar in these areas should contact me and we can discuss expectations. Anyone interested in high-performance graphics, advanced pixel and vertex shaders, novel techniques and uses for texture-mapping, and volume rendering should attend. The emphasis will be on scientific visualization, but the techniques will apply equally to game design and Hollywood special effects. The course format we will be mainly project development, student research and presentations, with a few lectures. A primary goal of this course is the design and implementation of a modern Volume Renderer or Compositing Engine.

Topics

  1. Compositing
    1. Binary masks
    2. Screen-door compositing
    3. Alpha compositing
    4. Compositing versus refraction
    5. Pixel Masks and Dithering or Halftoning
    6. Specular highlights
  2. Advanced GPU Texture Capabilities
    1. Applications for Visualization
      1. Psuedo-coloring
      2. Adding curvature or three-dimensional cues to surfaces
      3. Clipping and masks
    2. Mip-mapping
      1. Averaged filtering
      2. Controlling for added details or blurring
    3. Multi-texturing
      1. Combining data mappers for bivariate coloring
      2. Controlling the application of psuedo-coloring
      3. Surface representations
      4. Calculating gradients or normals
    4. Dependent Textures
    5. Environment Mapping
    6. Render to Texture
    7. Three-dimensional textures
    8. Fragment Programming
      1. Assembler, OpenGL ARB
      2. Cg or HLSL
    9. Other Issues
      1. Subtexture loads
      2. Texture Matrix
      3. Texture Binding
      4. Anisotropic Filtering
  3. Texture Mapping for iso-contour surfaces
    1. Technology Based
      1. Procedural Textures
      2. Texture Synthesis
      3. Separable 3D textures
      4. 3D texture mapping
    2. Effect Based
      1. Silloutte Rendering
      2. Semi-transparent surfaces
      3. Mesh renderings
      4. Partial coverage surfaces
      5. Principal Curvatures
      6. Visibility Shading
  4. Volume Rendering
    1. Image Warping and Compositing
    2. Volume Rendering Equation and Integration
    3. Other volume integration models
    4. Slice-based Volume Rendering
      1. Function Reconstruction
      2. Specifying the proxy geometry
      3. Sorting and compositing
      4. Rasterizing the proxy geometry
        1. Texture coordinates
        2. Fragment shaders
        3. Normals, function values, etc.
      5. Slice-based Operations / Shaders
        1. Normal Estimation
        2. Shadow generation
        3. Multi-variate representations
      6. Warping the resulting slice or image
      7. Compositing of the slices
        1. Segmentation
        2. Contouring
        3. Lighting and shading
        4. Post-classification
      8. Occlusion testing
    5. Advanced Shaders
      1. Non-Photorealistic (NPR) shading
      2. Vector Field or FLow Visualization
      3. Mixed Modality rendering
      4. View-Dependent Shaders

Reference Materials

Slides

Lab Assignments

Lab1: Pick one of the options below (Preliminary results due 4-12-2004, final 4-16-2004).

Students

Last Modified by Roger Crawfis, April 26, 2004