The module aims to develop the ability of students to give programmatic expression to the mathematics of 2D and 3D graphical techniques and algorithms. The programming vehicle used is the C language with the industry-standard OpenGL API.
Students will be expected to have some familiarity with the C language, though no prior knowledge of OpenGL will be assumed. The module will also aim to develop an appreciation of the use of C++ for graphics programming.
Students will develop a practical understanding of the underlying techniques and algorithms by implementing their own solutions alongside the use of OpenGL-based functionality.
Initially students will implement solutions to 3D object transformations such as scaling, rotation, translation and shear, as well as to different viewing transformations whilst developing familiarity with the facilities provided by OpenGL. Later algorithms will be implemented for producing curved lines and surfaces, lighting and shading 3D models and those used for generating animation.
Assessment will be by one in-course assignment which will test all learning outcomes.