# CS 788 High Performance Image Synthesis

## Objectives

Students completing this course will obtain in-depth knowledge of and competence
in modern high-performance (high quality and/or high speed) image synthesis.
They will also have obtained practical experience in a focused topic via a project.
Techniques for both real-time interactive systems and off-line physically-based
rendering will be covered. Upon completion of this course, students will also
have gained an understanding of several mathematical and numerical techniques
particularly useful in image synthesis (interval analysis, monte Carlo integration,
iterative solution of sparse linear systems, singular value decomposition and
automatic differentiation) but also applicable to a wide range of other applications.

Students taking this course should have exposure to computer graphics and a
reasonable level of programming skill, as a project will be required. The provided
support code will be in C/C++, although use of the code and these particular
languages will not be required. Facilities will be provided for building real-time
applications using hardware graphics acceleration.

## Schedule

Three hours of lecture per week.

## Outline

### Numerical Techniques (8 hrs)

Automatic differentiation. Interval analysis and applications. Robust raytracing
and adaptive tesselation. Monte Carlo integration and variance reduction techniques.
Review of iterative techniques for the solution of sparse linear systems.

### Visual Percetion and Light (6 hrs)

Light physics. Radiometric units, geometry, and physics of light and light/material
interaction. Human visual system basics. Acuity, contrast, adaptation, radiant
vs. luminous units of light energy. Colour. Colour spaces and conversion from
spectral power distributions.

### Mathematical Models of Rendering (6 hrs)

The radiance equation and its variants. Reflectance. Standard reflectance models.
Representations and properties of bidirectional reflectance distributions. Separable
approximations. Environment-map represenations. Basis function representations.
Wavelength dependence.

### Global Illumination Algorithms (8 hrs)

The radiosity approximation. Monte Carlo and Galerkin (meshed) solution techniques.
Iterative and progressive solution techniques.

### Real-time Rendering (12 hrs)

Advanced features of graphics accelerators. Accumulation buffers, stencil buffers,
clipping, compositing, texture maps. Vertex shaders, pixel shaders, and shader
compilers. Reflection and illumination maps. Antialiasing and depth-of-field.
Shadows. Implementation of physically-based local illumination. Global illumination
without meshing using multipass rendering.