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
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