Term 1 Schedule

Note

for latest slides pleasee refer to Blackboard

for latest lab guides please refer the lab session on this site.

Week 01 22/09/25

LectureA01 Introduction to computer graphics and the graphics pipeline

LabA01 Hello OpenGL ! - Set up OpenGL environment, draw a triangle

LearnOpenGL.com

Creating Window: https://learnopengl.com/Getting-started/Creating-a-window

Hello Window: https://learnopengl.com/Getting-started/Hello-Window

GLSL Cookbook: Chapter 1

Real-time Rendering chapter 2 The Graphics Rendeing Pipeline Chapter 3 GPU

Further Readings Video: Pat Hanrahan (May 16, 2023)

Shading Languages and the Emergence of Programmable Graphics Systems (Talk at Stanford)

Week 02 29/09/25

LectureA02 Vectors, matrices, transformations

16MB
Open

LabA02 Transform with GLM, shader programming LearnOpenGL.com

Hello Triangle: https://learnopengl.com/Getting-started/Hello-Triangle

Shader basics: https://learnopengl.com/Getting-started/Shaders

Transformations: https://learnopengl.com/Getting-started/Transformations

Furthre readings

If you are curious about 3D rotations, you can watch this series with a total length of 90 minutes, but it is hard.

Week 03 06/10/25

LectureA03 More transforamtions - Hierarchical Modelling, View Transform

LabA03 Load mesh models with Assimp, scene graph in C++, view transform Scenegraph: https://learnopengl.com/Guest-Articles/2021/Scene/Scene-Graph

Week 04 13/10/25

(swapped with Game Engine Systems by Patrick)

Week 05 20/10/25

(swapped with Game Engine Systems by Patrick)

Week 06 27/10/25 (Workshop)

LectureA04 View and Projection

LabA04 Camera control and Perspective Projection Virtual arcball : https://www.songho.ca/opengl/gl_camera.html

30/10/25 Thursday (Workshop)

(swapped back from Game Engine Systems)

LectureA05 Lighting and Shading Basics

LabA05 Basic Lighting - Blinn-Phong and Phong

LearnOpenGL.com

Basic Lighting: https://learnopengl.com/Lighting/Basic-Lighting

Multiple lights: https://learnopengl.com/Lighting/Multiple-lights

Further Readings

Week 07 Enrichment

Enrichment Week

No lectures and lab sessions Self-learning: How mesh models are created

Week 08 10/11/25

LectureA06 Physical-based lighting models - GGX and BRDF

LabA06 Physically-based Lighting - GGX model using GenAI LearnOpenGL.com

Further Reading

Allegorithmic PBR Guide (Easy)

Fresnel Effect

(Highly Recommended) GSN Composer Video Tutorial

(Hard) Chapter 9 Physically Based Shading, Real-Time Rendering, 4th Edition.

Week 09 17/11/25

LectureA07 Texture Mapping

LabA07 Texture mapping with OpenGL and GLSL, sky box or dome LearningOpenGL.com

https://learnopengl.com/Getting-started/Textures

20/11/25 Thursday

(swapped back from Game Engine Systems)

LectureA08 More mapping - Normal mapping, Cube Maps, PBR Maps

Tutorial:

Normal map creator: https://xo3d.co.uk/tools/normal-map-creator/ How to calcualte the tangent space: https://www.youtube.com/watch?v=hHzi_z7OeT0&t=195s

LabA08 Normal mapping LearnOpenGL.com

Week 10 24/11/25

LectureA09 Shadow Maps

Tutorial

LabA09 Shadow Maps

LearnOpenGL.com

How to implement shadow map

https://www.youtube.com/watch?v=Jhopq2lkzMQ&list=PLplnkTzzqsZS3R5DjmCQsqupu43oS9CFN&index=16

Further reading:

Ambient occulusion and soft shadows

Week 11 01/12/25

LectureA10 Image-Space Effects - bloom, motion blur, etc.

LabA10 Bloom shader programming

Further Reading

Week 12 08/12/25

LectureA11 Spatial Structures

LabA11 Picking and collision detection

https://www.mbsoftworks.sk/tutorials/opengl3/18-3d-picking-pt1/

https://www.mbsoftworks.sk/tutorials/opengl3/19-3d-picking-pt2/

Tutorial using C#: https://gdbooks.gitbooks.io/3dcollisions/content/Chapter5/picking.html

Week 13 05/01/26

No new lectures : wrap-up,

No new lab sessions, drop-in

Last updated