Course pages 2016–17 (still under preparation!)
No. of lectures: 16
Suggested hours of supervisions: 4
Prerequisite course: Computer Graphics and Image Processing
This course provides students with a solid grounding in the main three-dimensional modelling and rendering mechanisms. It also introduces supporting topics, including graphics cards, mobile graphics, animation, high dynamic range imaging and computational photography.
The order of delivery of lectures is provisional and subject to change.
- Graphics hardware. Programmable graphics pipeline, OpenGL and GLSL. [2 lectures]
- Ray tracing. The fundamentals of raycasting, ray-object intersection, acceleration data structures, supersampling, texture mapping. [2 lectures]
- Computational geometry. Subdivision surfaces; tessellation; normal at the vertex; skinning, surface reconstruction, surface simplification, isosurfaces. [2 lectures]
- Global illumination. Radiosity; path tracing; photon mapping; ambient occlusion. [1 lecture]
- Animation. Key-frames; rigging and skinning; physics-based animation; particle systems. [1 lecture]
- GPGPU Introduction to OpenCL. [1 lecture]
- Light, colour, and dynamic range. Color vision; CIE XYZ; chromatic adaptation; photometric units; gamma correction; high dynamic range vs. standard dynamic range; scotopic & photopic vision. [1 lecture]
- Reflection models. Diffuse, translucent and layered materials; microfacets; BRDF, BSSRDF, BTDF, SVBRDF; BRDF models; subsurface scattering; (SV)-BRDF acquisition. [1 lecture]
- Advanced image processing. Multi-scale processing; gradient-based methods. [1 lecture]
- Tone-mapping. Forward and inverse display model; glare and blooming; arithmetic of HDR images; major approaches to tone-mapping. [2 lectures]
- Applied visual perception. Detection & discrimination; t.v.i. & CSF; simulation of night vision. [1 lecture]
- Selected topics of computational photography. HDR capture; light fields. [1 lecture]
On completing the course, students should be able to
- program custom vertex and fragment processing with GLSL;
- create parallelized code using a GPGPU framework (OpenCL);
- describe the underlying theory of subdivision and define the Catmull-Clark and Doo-Sabin subdivision methods;
- understand the core technologies of ray tracing, computational geometry, implicit surfaces, and particle systems;
- understand several global illumination technologies such as radiosity, path tracing, photon mapping, ambient occlusion, and be able to discuss each in detail;
- discuss and contrast different reflection models;
- choose the right animation technique for a given problem and discuss it;
- describe current graphics technology and discuss future possibilities;
- differentiate between different measures of light and colour, know which measure to apply to a particular problem;
- choose a tone-mapping algorithm for a given rendering problem;
- demonstrate how selected image processing problems can be solved either using multi-scale representation or in the gradient domain;
- explain how the limitations of the visual system can be utilized in practical problems in graphics and imaging applications;
- explain the concept of light fields and give examples of light field rendering.
Students should expect to refer to one or more of these books, but
should not find it necessary to purchase any of them.
* Shirley, P. & Marschner, S. (2009). Fundamentals of Computer Graphics. CRC Press (3rd ed.).
Slater, M., Steed, A. & Chrysanthou, Y. (2002). Computer graphics and virtual environments: from realism to real-time. Addison-Wesley.
Watt, A. (1999). 3D Computer graphics. Addison-Wesley (3rd ed).
Rogers, D.F. & Adams, J.A. (1990). Mathematical elements for computer graphics. McGraw-Hill (2nd ed.).
Boreskov, A. & Shikin, E. (2013). Computer Graphics: From Pixels to Programmable Graphics Hardware. CRC Press.
Reinhard, E., Heidrich, W., Debevec, P., Pattanaik, S. , Ward, G. & Myszkowski, K. (2010). High Dynamic Range Imaging: Acquisition, Display, and Image-Based Lighting, 2nd edition. Morgan Kaufmann.