CSCI 580 3D Graphics and Rendering Outline (28 meetings)

 Class 1:   Intro to class and HW1
                    2D Graphics, 3D Graphics, Image Synthesis
                    HW1 - Build a Display Object, API
                    
 Class 2:    Graphics Xforms and HW2 intro - flat-shaded z-buf triangle teapot
                      Explicite geometry (tris, patches) or implicite description via function
                      (fractal mandlebrot set) or sample data (medical volume).
                      Xform and project verts with implied straight lines between them.
                      Notation and algebra
                    
 Class 3:     Spaces to coordinate modeling, animation, viewing, rendering.
                       Spaces: model, world, image, perspective (NDC), screen
                       How do we manage Xforms?
                       Effect of Xform in each space?
                       Perspective.
                       Camera Xform - how to define it?
                       What about Z?  What do we do with it in screen space?
                       Setup and manage mats in renderer stack and camera.

 Class 4:    Rasterizing and Hidden Surface Removal - scan line method
                      Image order rasterization -- ray tracing/casting
                      Turner Whitted's paper (sig 79)
                      Object order rasterization -- scan-line (pixel-by-pixel), footprint (LEE hw)
                      Reyes (PIXAR) paper (sig87)
                      Scan line renderer - DDA
                      Hidden surfaces: Painters algorithm, Warnock algorithm, BSP tree, Z-buffer

 Class 5:    Parameter Interpolation and HW2 details
                      Z interpolation
                      HW2 renderer API/functions

 Class 6:    Ray Tracing, HW3 intro - shading

 Class 7:    Human Visual System and Depth Perception
                      Visual system physical construction
                      Visual perception phenomena
                      Depth perception

 Class 8:    Color and Color Spaces
                      Color perception and physiology
                      Color basis
                      CIE XYZ
                      RGB
                      HSV
                      YIQ
                      Conversions
                      Display standards

 Class 9:    Illumination and Shading
                      Light sources
                      Propagation through media
                      Interaction with surfaces
                      Ideal specular and diffuse reflection
                      Color, absorbtion, and mix of specular and diffuse components
                      Shading models

 Class 10:    Lighting and shading in HW3
                         Shading Equation
                         Spaces for shading
                         Assumptions
                         Handling special cases
                         Normals and transformations

 Class 11:    Screen-Space Interpolation with Perspective Correction
                         Understanding the problem - interpolation under perspective
                         Perspective warping
                         Proper interpolation by transforming, interpolating, transforming
                         Illumination equation at each pixel for Phong shading

 Class 12:    Textures and Hierarchy of detail
                         Geometry, textures, lighting model -- a wide range of scales
                         Textures convey complexity
                         Lighting model - interactions at smaller scale than color variations in texture.
                         Complex illumination models - BDRF
                         BDRF - Function of wavelength, material orientation, light and eye direction.
                         Mapping 2D surface location to image texture.
                         U, V coords

 Class 13:   More Textures - Assign HW4.
                        2D, 3D, Bump, shadow, reflection, etc... (survey of textures - Heckbert)
                        HW4 for color texture
                        Procedural texture - Mandlebrot / Julia sets

 Class 14:   Compositing and Volume Slices
                        Porter, Duff, Sig'84.  "Compositing Digital Images"  LucasFilm Ltd.
                        Alpha channel
                        Film applications
                        Alpha as fractional area
                        General compositing equations
                        Compositing as approximation for translucent or transparent materials.
                        Resampling scalar volumes and compositing for volume visualization

 Class 15:   Alpha for antialiased compositing and edge smoothing
                        Extension of Display object
                        A-buffer algorithm

 Class 16:   Antialiasing Introduction and Basic Signals
                        Images as continuous functions
                        Quantization errors
                        Aliasing errors/sources
                        Spatial and temporal
                        Nyquist Theorem
                        Signals as functions of time and space
                        Impulse, Step, Box, Comb or Shah, Sinc, Gaussian functions

 Class 17:   Antialiasing - convolution
                        Linear time-invariant systems
                        Representation domains
                        Frequency domain/Fourier transforms
                        Conversions
                        Duality and inverse relationships
                        What's the point? - Multiplication Property
                        Prealiasing/Postaliasing

 Class 18 :    Class Project Descriptions and Proposals
                         suggestions and discussion
                         Review / Preview of topics

 Class 19:    Textures and Filtering
                        Filtering image textures
                        MIPMAPs and scale
                        Weaknesses in perspective
                        Summed-Area Tables
                        Environment Mapping
                        Approximations

 Class 20:    BSP Trees
                         Creation and use of recomputed visibility structures

 Class 21:   Survey of Shadow Algorithms

 Class 22:   Evolution of Radiosity Lighting
                        Linear systems
                        Summing methods
                        Shooting method

 Class 23:   Displays
                        gamma correction
                        color maps - hardware and software implications
                        color quantization - median cut
                        dithering - error diffusion

 Class 24:   Hardware
                        Pipeline components and functions
                        Sequential architectures

 Class 25:   Parallel Hardware/Software
                        Taxonomy of Parallel Architectures
                        Cases

 Class 26:   Virtual Environments
                        Systems for VR and AR
                        SW for grab, fly, scale - Robinette paper
                        Low latency rendering - frameless rendering
                        Tracking technologies

 Class 27:    Project Presentations I

 Class 28:    Project Presentations II