Course pages 2016–17

**Subsections**

##

Paper 3: Graphics

This course is only taken by Part 1A Paper 3 students.

*Lecturer: Dr R.K. Mantiuk*

*No. of lectures and practical classes:* 8 + 7

*Suggested hours of supervisions:* 2

*Prerequisite courses: None*

*This course is a prerequisite for Advanced Graphics*

### Aims

To introduce the necessary background, the basic algorithms, and the applications of computer graphics and graphics hardware.

### Lectures

**Background.**What is an image? Human vision. Resolution and quantisation. Storage of images in memory. [1 lecture]**Rendering.**Perspective. Reflection of light from surfaces and shading. Geometric models. Ray tracing. [3 lectures]**Graphics pipeline.**Polygonal mesh models. Transformations using matrices in 2D and 3D. Homogeneous coordinates. Projection: orthographic and perspective. [1 lecture]**Graphics hardware and modern OpenGL.**Vertex processing. Rasterisation. Fragment processing. Working with meshes and textures. [2 lectures]**Technology**. Colour spaces. Output devices: brief overview of display and printer technologies. [1 lecture]

### Objectives

By the end of the course students should be able to:

- understand and apply in practice basic concepts of ray-tracing: ray-object intersection, reflections, refraction, shadow rays, distributed ray-tracing, direct and indirect illumination;
- describe and explain the following algorithms: Gouraud and Phong shading, z-buffer, texture mapping, double buffering, mip-map, bump- and normal-mapping;
- use matrices and homogeneous coordinates to represent and perform 2D and 3D transformations; understand and use 3D to 2D projection, the viewing volume, and 3D clipping;
- implement OpenGL code for rendering of polygonal objects, control camera and lighting, work with vertex and fragment shaders;
- describe a number of colour spaces and their relative merits; explain the workings of two display and printer technologies.

### Recommended reading

* Shirley, P. & Marschner, S. (2009). *Fundamentals of Computer Graphics*. CRC Press (3rd ed.).

Foley, J.D., van Dam, A., Feiner, S.K. & Hughes, J.F. (1990). *Computer graphics: principles and practice*. Addison-Wesley (2nd ed.).

Kessenich, J.M., Sellers, G. and Shreiner, D (2016). *OpenGL Programming Guide: The Official Guide to Learning OpenGL*, Version 4.5 with SPIR-V. [seventh edition and later]