Computer Graphics
  • 5CM507 Graphics 25-26
  • Module
  • Schedule
    • Term 1 Schedule
    • Term 2 Schedule
  • Assessments
    • Coursework 1 (CW1)
    • Coursework 2 (CW2)
  • Lectures A
    • L01 Overview of Computer Graphics
    • L02 Mathematics
  • Labs A
    • LabA0 Environment Setup
      • Using a Git Repository
      • Checking or Installing Software
      • Creating a Project Framework
    • LabA01 Drawing 2D Triangles
      • Early OpenGL
      • Modern OpenGL
    • LabA02 Load Meshes and Calculate Normals
      • How to Represent a Mesh
        • Mesh Data Structure in C++
        • Mesh Data Structure in WebGL
        • The OBJ Mesh Format
      • Normal Calculation
      • Calculating Normals in C++
    • LabA03 Transformations
    • LabA04 Scene Graph
    • LabA05 Projections
    • LabA06 Lighting
    • LabA07 Shaders
    • LabA08 Texture Mapping
  • Lectures B
  • Labs B
  • Resources
  • People
    • Module Leader
    • The Games Group@Derby
    • Senior External Consultants
Powered by GitBook
On this page
  1. Schedule

Term 1 Schedule

PreviousScheduleNextTerm 2 Schedule

Last updated 2 months ago

Week
Lecture

1

Lecture

LA01 Game Graphics, Models, Pipelines, GPU, APIs, Game Engines

Lab

LabA01 Hello 3D World ! - Environment Setting, APIs, Coordinate Systems, Drawing Triangles, Setting up the Scene

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

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

Real-time Rendering chapter 2 The Graphics Rendeing Pipeline Chapter 3 GPU My slides: A Brief History of Computer Graphics

2

Lecture

LA02 Coordinate Systems, Vectors, Matrix, Transformations and Mesh, Normal Transformation, Ray Intersection

Lab LabA02 Simple mesh data strucure, calculating vertex normals, displaying colours

Transformation of Normals Further Reading C Matrix and Determinants, Transformation Types

3

Lecture

LA03 More transforamtions - Rotation (Euler Angle), Transformation of Frames,Hierarchical Modelling Transformation, Viewing Transformation

Lab

LabA03 Rotation and scenegraph

Use Euler Angles, Pitch, Roll Yaw,

Trackball Controll of Cameras

Scenegraph classes with C++ (a tank) Further Reading: Rodrigues Formula

4

Lecture

LA04 Projection and Ray Casting -

Perspective projection and Ray Intersection

Lab

LabA04

Setting Model-View-Projection matrices in the vertex shader, Picking

5

Lecture

LA05 Rasterisation, Shading, Basic Lighting

LabA05 Shader Programming - Phong and Blinn-Phong lighting

6

Lecture

LA06 Physical-based Lighting Models - BRDF, GG ? LabA06 Lighting with shaders - GGX model

7

Enrichment Week Self-study: How mesh models are created

8

Lecture ? LA07 Basic Ray Tracing and Acceleration Data Structures - Bounding Volume Hierarchies LabA07 Ray tracing with compute shader

9

Lecture

LA08 Texture Mapping - Mipmap Lab08 Texture Mapping, Mipmap, Environment Mapping Channel Packing

10

Lecture LA09 More mapping - Bump mapping, Displacement Mapping, Parallax Mapping, Normal Mapping, Ambient Occulusion Mapping, Procedural Textures, render to texture Lab LabA09 Fragment Shader Programming Self-study : fog, flare, motion blur, depth of field; Procedural textures, shadows

11

Lecture LA10 Postprocessing Effects - fog, flare, motion blur, depth of field Lab LabA10 Fragment Shader Programming

12

Lecture

LA11 Shadowing - shadow map, ray tracing ...

Further reading:

Ambient occulusion and soft shadows

LabA12 Shadow Map

How to implement shadow map

LA11 Lab LabA11 Collision detection and picking

13

Lecture LA12 Environmental Elements: Terrain, Foliage, Cloud, Fog, Smoke, Fire - Partical systems and rocedural generation

Leave water to Term 2 Lab ? LabA12

  • Procedural terrain and textures

  • Particle systems (smoke, fire, rain)

https://www.youtube.com/watch?v=uL4H1ct_-dI
https://www.youtube.com/watch?v=teB-pbAd8JE&list=PLplnkTzzqsZS3R5DjmCQsqupu43oS9CFN&index=23
https://www.youtube.com/watch?v=Jhopq2lkzMQ&list=PLplnkTzzqsZS3R5DjmCQsqupu43oS9CFN&index=16