||Introduction to CG
||Chapter 1 (Discussion Section topic - perception and
Chapter 2 (Discussion Section topic - math revision)
By the end of this week the students should be aware of importance of perceptual issues, know what math they need to revise, get the concept of pixels and display spaces.
||Light and Colour
||Chapter 3 (Concentrate on page 82, introduce notion
of radiance and the radianceequation)
Chapter 4 (Concentrate around Section 4.8, introducing displays and pixels)
By the end of this week the students should have a basic understanding of the radianceequation, realising that computer graphics rendering techniques are differenttypes of approximations for solving this equation.
||Ray Casting and Illumination
Chapter 6, Sections 6.1 to 6.5
Chapter 6, Sections 6.6 to 6.11
By the end of this week the students should know how to do ray casting of spheres, and be able to ray trace sphere with diffuse and specular reflection models.OpenGL might be used forsetting colour values. Using spheres is only for convenience - the conceptsof ray tracing are independent of this. The camera position and orientationis in fixed position along the z-axis.
||Viewing in and Scene Construction in 3D
By the end of this week the students should understand how the camera isgeneralised to arbitrary position and view, and how thiscan be used withray tracing.Also the fundamentals ofdescribing scenes with polygonsare covered.An exercise using VRML and a browser tocreate and display theirown sceneswould be useful.
||Chapter 9, Sections 9.1 to 9.8
Show how the full projection system works. Some of the details canbe skipped. None of these is mathematically hard, but you can leave the students to follow the derivations in the text without spending time on these in the lectures. Go over how viewing works in OpenGL, and a good teaching device is to concentrate on how the system presented here can be implemented using OpenGL.
By the end of this week the students should understand how to set up an arbitrary camera view, and use OpenGL to achieve this. They should have a good understanding of the idea of projection, and the pipeline that implements this.
Go through the 2D Sutherland-Hodgman clipping algorithm in detail.
Show how it generalises simply to 3D.
Discuss its problems.
Talk about the problem of external line segments, but not necessarily all the details of how to clip in homogeneous coordinates.
By the end of this week the students should understand why clipping is necessary, where it fits in to the pipeline, and how to do it in the case of polygons.
Chapter 13 (Sections 13.1 to 13.3)
The first lecture this week covers 2D polygon rendering. This is then extended in lectures 2 and 3 to cover z-buffer visibility and smooth shading.
By the end of this week students will know how to implement a 2D polygonalgorithm,and how to (trivially) extend this to cover z-buffer visibility processing and smooth shading. This essentially completes the graphics pipeline,by showing what happens in the 'last instance' as pixels are processed. Issues such asaliasing could be considered in discussion sections.
||Texturing and Shadows
||Chapter 13 (Sections 13.4)
Chapter 14 (Sections 14.1-14.2)
By the end of this week students will understand the importance of texture mapping, and how it fits in to the rendering pipeline. Students will be able to implement shadows based on z-buffering and BSP trees, for point light sources. Students will understand the issues involved in computation and rendering of shadows for area sources.
||Chapter 14 (Sections 15.1 to 15.5, 15.7 to 15.8)
This week reintroduces global illumination in the context of radiosity. The radiosity equations can be illustrated simply as an expansion of (EQ 3.20) without necessarily deriving all the components and starting from the full radiance equation. Eg, (EQ 15.11) is essentially 'obvious' and can be 'derived' from common sense arguments. The hemi-cube, progressive refinement and ray-casting approaches should be covered.
By the end of this week the students will understand and have some reasonable idea how to implement progressive refinement radiosity with the use of ahemi-cube or with ray casting. They will understand how the Gouraud smoothshading,introduced last week can be used for rendering.
||Faster ray tracing
Chapter 17 (Sections 17.1 to 17.3)
The course returns full circle to ray tracing, and there is a motivationchapter that considers in outline how ray tracing intersection calculationsmightbe speeded up. This serves as motivation for further work on lines:clippingand rasterisation. Line clipping algorithms are discussed (one shouldbe discussed in detail such as Cohen-Sutherland) and of course Bresenham'salgorithm in detail.
By the end of this week the students should know a number of strategies for speeding up ray tracing. The will also know how to clip lines in 2D and in 3D, and how to rasterise a line in 2D - realising that a generalisation of this to 3D and to subdivided spaces is possible.