Weekly checklist (scrollable)

Week 9

1 Implement Blinn-Phong shading for rays that intersect objects.
2 Trace a shadow ray from the shaded point to point light sources.
3 Modify your Image class to also read a ppm texture. Implement texture maps for sphere, cylinder and triangle.
4 Replicate (not necessarily pixel-perfect) the sample scenes provided.

Week 8

1 Tutorial on CW2 this week. Please attend. Check on Piazza if you want to attend a different tutorial.
2 Hopefully you have designed your raytracer structure. Start with the simplest goal of raytracing a sphere at the origin using an orthographic camera on the -ve Z axis looking at the origin. Then repeat it for a virtual pinhole model with perspective.
3 Write auxiliary classes for image and 3D model reading/writing. Test them separately from the raytracer.

Week 7

1 Coursework 2 is now published! Please read the specs and begin planning ...

Week 6

1 Final touches to the augmented result. Launch rendering of animation
2 Note the change of room for next week's presentations -- G.159 - MacLaren Stuart Room - Old College.
3 Sign up for a presentation slot. Click here ---> CGR2024CW1 (first-come-first-serve).

Week 5

1 You should be able to complete the exercises in Coursework 1 by the end of this week.
2 Design the scene for your animation for CW1. Rendering the frames might take some time, so better not to leave this for the last day.
3 Catch up with the reading task (to be posted after Thursday's lecture)

Week 4

1 Please attend Tutorial 1 this week. The TA will describe how these exercises may be solved. You may also ask him general questions about CW1.

Week 3

1 Coursework 1 for CGR is now published. Please read the specs carefully.
2 Aim to complete the first 2 exercise questions by Wed and the third exercise by the end of this week.
3 Plan your scene and write down ideas for animation and virtual objects to insert.

Week 2

1 Download and install blender!
2 Use an online tutorial such as this to explore blender. What interesting shape can you make?

Week 1

- First lecture on Thursday 19th Sep 2024!
1 Set up your Large language model (LLM) of choice. It is recommended that you use the free version of OpenAI's ChatGPT by signing up. Alternatively, you may use Edinburgh Uni's very own ELM, Llama or any other open source LLM at your own risk. We have only tested the feasibility of the coursework with ChatGPT.
2 It is also recommended that you sign up for a free account for co-pilot which is another tool that can help with C++ code generation. If you plan to use this tool, it is strongly recommended that you use the free (student) edition rather than the trial which will expire midway through the course. For this, sign up to GitHub's global campus using your university email and student id. First, your application will be approved and then you will have access to the benefits (including co-pilot).
3 Both the above steps could take some time for approval. So, please do this as soon as possible.

Week 0

1 Register for the course.
2 Check that you have access on Learn to the course's Piazza page.
3 Check the course website.

Contact

Instructor TA
Kartic Subr Krzysztof Grykiel
  • Weeks 1-10: Lectures on Tue and Thu at 13:10 in LG.09, 40 George Square Lower Teaching Hub
  • Weeks 4 and 8: Tutorials on Mon (10:00), Thu (09:00), Fri (14:00) in Appleton Tower 5.04
  • Week 7: CW1 presentations on 29 Oct (13:10), 30 Oct (13:10), 1 Nov (12:10) in G.159 - MacLaren Stuart Room - Old College
  • Week 11: CW1 presentations on 26 Nov (13:10), 28 Nov (13:10), 29 c (12:10) in G.159 - MacLaren Stuart Room - Old College

Course guidelines

  • Please remember the good scholarly practice requirements of the University regarding work for credit, with guidance and further links here.
  • The deadline and late policy for this assignment are specified on Learn in the "Coursework Planner". Guidance on late submissions is here .
  • There is no exam for this course.
  • Final marks will be the average of 2 coursework (CW) assignments, each worth 100 marks.
  • Expect about 1 to 1.5h of independent effort per day towards this course.
  • 10% of each CW will be assessed via a presentation. In case of exceptions, please contact the instructor.

Lectures

# Lecture Title Date Slides Reading
1 Introduction 19/09 .pptx .pdf
2 Imaging: radiometry and photometry 24/09 .pptx .pdf PBR Ch 5.4
3 Cameras 26/09 .pptx .pdf
4 Basic Modelling 01/10 .pptx .pdf
5 Raytracing: introduction 03/10 .pptx
6 Raytracing: advanced 08/10 .pptx .pdf
7 Numerical integration 12/10 .pptx code (.zip) .pdf
8 Monte Carlo Integration 15/10 .pptx code (.m) notes, textbook
9 Light transport: path tracing I 17/10 .pptx
10 Light transport: path tracing II 22/10
11 C++ Programming with GPT and co-pilot 24/10 .pptx Notes, Code
Presentations: CW1 29/10
Presentations: CW1 31/10
Presentations: CW1 01/11
12 Sampling and reconstruction 05/11 .pptx
13 Sampling II 07/11 .pptx sampling patterns
14 Volume Scattering 12/11 .pptx scattering course
15 Fast rendering pipelines I 14/11 .pptx 1 2 3 4
16 Machine Learning in Computer Graphics 19/11 .pptx
17 Virtual Reality, conclusion and goodbyes 21/11 .pptx
Presentations: CW2 26/11
Presentations: CW2 28/11
Presentations: CW2 29/11

* tentative topic-list (above) may be adapted to accommodate dynamic requirements.

Schedule

Tutorials

# week topic files
1 4 Coursework 1 assistance .pdf
2 8 Coursework 2 assistance .pdf

Coursework

# topic issued due files
1 Augmented Reality 30-09-2024 12pm (noon) 25-10-2024 .pdf
2 Raytracing 30-10-2024 12pm (noon) 25-11-2024 .pdf .json files

Books

There is no text book for this course but the following books might help support your learning. You are not expected to purchase these books.


Matt Pharr, Greg Humphreys & Wenzel Jakob,
Physically Based Rendering (Third edition)

The book is currently freely available online.

Peter Shirley, Trevor David Black & Steve Hollasch,
Ray tracing in one weekend

The book is currently freely available online.

Steve Marschner & Peter Shirley
Fundamentals of Computer Graphics

The book is available for free online access in our library.


Other resources

  1. Tutorials on Blender
  2. Introduction to computer graphics by Steve Marschner, Cornell University.