COMP20072: Computer Graphics (2008-2009)
This Course Unit introduces students to the theory and practice of Interactive Computer Graphics. Its principal aim is to teach the fundamental principles of two- and three-dimensional Interactive Computer Graphics. OpenGL is used as the platform for practical C programming exercises, and as an example of a system which incorporates many of the fundamental ideas and algorithms of modern computer graphics.
A student completing this course unit should:
Have a knowledge and understanding of the structure of an interactive computer graphics system, and the separation of system components. (A)
Have a knowledge and understanding of geometrical transformations and 3D viewing. (A)
Be able to create interactive graphics applications. (B)
To use OpenGL to perform item (3), above. (C)
Have a knowledge and understanding of techniques for representing 3D geometrical objects. (A)
Have a knowledge and understanding of interaction techniques. (A)
Have a knowledge and understanding of the fundamental principles of local and global illumination models. (A)
Assessment of Learning outcomesOutcomes 5 and 7 are assessed by examination. Outcomes 1, 2, and 6 are assessed by examination and in the laboratory. Outcomes 3 and 4 are assessed in the laboratory.
Contribution to Programme Learning OutcomesA1, A2, A5, B1, B2, C5, D5.
Introduction to interactive computer graphics (1)
Examples of application areas; a reference model for a computer graphic system.
Graphics hardware (1)
Raster display systems; introduction to the 3D graphics pipeline; the Z Buffer for hidden surface removal.
Introduction to the rendering process with OpenGL (1)
The role of OpenGL in the reference model; coordinate systems; viewing using a synthetic camera; output primitives and attributes.
Geometrical transformations (3)
3D transformations; matrix representation; homogeneous coordinates; combination of transformations.
Events and callbacks; input in GLUT
Scan-converting lines and polygons (1)
Representing 3D objects (1)
Modelling using polygons; techniques for creating representational polygonal meshes; non-polygonal representations.
Curves and Surfaces (2)
Bezier representations; quadrics and superquadrics; patches and meshes.
Colour in Computer graphics; RGB; CIE; Image formats and their applications: GIF, JPG, PNG.
Using the camera model for viewing 3D scenes; perspective and other types of projection; viewing in OpenGL.
A local illumination model (5)
Types of light source; reflectance models: diffuse (Lambert) and specular (Phong); Gouraud and Phong interpolation; lighting and shading in OpenGL; textures.
Application modelling (2)
Distinction between modelling and graphics; immediate mode versus retained mode; model storage strategies; the matrix stacks; OpenGL display lists: traversal; hierarchical data storage; instancing; how the concepts are realised in specific systems: OpenGL, VRML, Java3D.