Computer Graphics#

This site contains the materials used in the lab sessions for the Computer Graphics unit. They are designed for students to work through in the labs with the help of the tutors. The table below shows the teaching schedule that will be employed. If you happen to miss a week for whatever reason you must make sure you catch up with the material.

Week

Date (w/c)

Lab

1

29/01/2024

Introduction to C++: Introduction/revision of C++ fundamentals. Variables, arrays, loops and if statements. Functions, classes, methods and header files.

2

05/02/2024

Drawing Basic Shapes in OpenGL: Window creation in OpenGL, Vertex Array Objects (VAO) and Vertex Buffer Objects (VBO), fragment and vertex shaders.

3

12/02/2024

Textures: texture co-ordinates, mipmaps, texture filtering, applying texture maps to polygons.

4

19/02/2024

Vectors and Matrices: Revision of vectors and matrices. Dot and cross products, matrix multiplication, transpose, the identity matrix and matrix inverse.

5

26/02/2024

Transformations: Translation, scaling and rotation transformations. Applying transformations to polygons.

6

04/03/2024

3D Worlds: Co-ordinate systems, the view, model and projection matrices.

7

11/03/2024

Moving the Camera: using keyboard input, using mouse input, back face culling

8

18/03/2024

Lighting: model loading, Phong’s reflection model, lighting shaders

-

23/03/2024 - 14/04/2024

Easter break (no teaching)

9

15/04/2024

Normal mapping: the tangent space, applying a normal map, specular maps

10

22/04/2024

Quaternions: complex numbers and quaternions, rotations, SLERP

11

29/04/2024

Assignment work

These materials are based upon the excellent OpenGL tutorials learnOpenGL by Joey de Vries and open-gl-tutorial.


Jon Shiach

Dr Jon Shiach
Homepage: jonshiach.github.io
Email: j.shiach@mmu.ac.uk
Tel: 0161 247 1515
Office: E115b