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.
Three hours of lecture per week.
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.
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.
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.
The radiosity approximation. Monte Carlo and Galerkin (meshed) solution techniques. Iterative and progressive solution techniques.
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.