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