Course syllabus

Course-PM

Advanced Computer Graphics, DAT205/DIT226, VT24 (7.5hp)

Revised March 12th, 2024

Department of Computer Science and Engineering

Course purpose

The compulsory introductory course TDA362/DIT223 Computer Graphics was highly theoretically intensive, giving a brief introduction to a vast amount of topics within computer graphics. In this follow-up course, the students are given a chance to dig deeper into a particular subject, in which they perform a project. Compulsory seminars present more details on a research-level for a selection of topics, e.g. ambient occlusion, hair rendering, GPGPU applications, ray tracing and global illumination, GPU-ray tracing, hard and soft shadows, real-time indirect illumination, spherical harmonics, wavelets for CG.

Schedule

The full schedule is available on TimeEdit. We will probably not use all of those times, however, since the number of seminars will depend on the number of active students. We will decide on the final schedule in the first study week. 

The schedule for the first week will be: 

  • Tuesday Mar 19th, 10:00: Short introduction to the course (EL41)
  • Wednesday Mar 20th, 8:00: Advanced Shading (EL42)
  • Friday Mar 22nd 10:00: Light Transport (ES51)

Contact details

Erik Sintorn 
phone: +46 729 744821 
email: (erik dot sintorn at chalmers dot se) 
office: room 4114A, floor 4, the corridor along Rännvägen, EDIT-huset 

Student Representatives

MPIDE   amandamachado87@gmail.com       Amanda Carvalho MachadoMPSOF   juldah0213@gmail.com    Julia DahlbergMPIDE   1203022628@qq.com       Yihong DaiMPHPC   hannes.kaulio@gmail.com Hannes KaulioMPALG   eliskleen00@gmail.com   Elis Kleen

Knowledge Entrance Requirements 

M.Sc. students must have taken the course TDA362/DIT223 Computer Graphics (named TDA361/DIT220 before 2017), or equivalent.

Course literature

There is no mandatory literature in this course. 

Course design

The course begins with a number of seminars where the teacher introduces a number of advanced topics that will facilitate understanding of the research papers that will be presented by students. The remaining seminars will consist of student presentations of recent research papers. Every week, ~4 student groups will present a paper, and for each paper a group of students will be the discussion leaders. Discussion leaders will have prepared an overview of the paper for the rest of the class, and a number of questions for the class to discuss. During the whole course, students will work on individual projects which are presented to the examiner at the end of the term. 

Introductory lectures: 
The first three or four classes, the teacher will give lectures on a some theoretical basis in computer graphics that will facilitate the students understanding of the research papers that will be discussed in the following seminars. 

Presentation:
Every week ~4 student groups will present a recent research paper. A list of suggested papers to choose from will be provided on this homepage soon. The student may also choose a different paper of their choice, but it must be OK:ed by the teacher.
The student is expected to have a clear understanding of, and be able to explain to the class, the problem area and the main contributions of the paper.

Paper Overview:
Those students that are discussion leaders for the paper will prepare an overview (~1 A4 page) on Canvas, for the rest of the class to read before the presentation. The overview shall help the other students understand the presentation and shall pose interesting questions for discussion.

Discussion:
After the presentation, the class will be divided into groups with one discussion leader in each group. The discussion leaders will have submitted a number of interesting questions to discuss. After the group discussions we will go through the questions in the full class and groups will be randomly selected to answer. 

Project
The students should perform a project of their choice. It can be a small graphics demo/game in OpenGL (with some advanced effects such as ambient occulsion, indirect illumination, advanced shadows, ...), an offline renderer (e.g. a path-tracer with some advanced additions such as depth-of-field or multiple importance sampling), or a general parallel problem implemented efficiently on the GPU (e.g., a sorting algorithm in CUDA). More suggestions and guidelines for grading are available on the Project Suggestions page.

The projects can be implemented in whatever language and framework the student prefers, but we suggest that you use C++ and OpenGL, and you can start from the base code (https://gitlab.com/chalmerscg/opengl-project-template) we provide, which we have adapted from that used in the TDA362 tutorials.

You are expected to start working on your project immediately. There will be a short meeting with each student half-way through the course, where you will report your progress and discuss what is required for the grade you aspire to. 

Changes made since the last occasion

  • None, so far.

Examination form

There is no end-of-term exam. Instead, the student will collect points from the presentation and the project that will decide the final grade. Regardless of the number of points acquired all students must complete their project and presentation, and participate in their discussion leader groups, to pass the course. 

Presentation: After the presentation, the teacher will grade the presentation. The presentation can be failed if the student has clearly not put any effort into their task.

Discussion leaders: Participating actively in the discussion leader group is required to pass the course. 

Project: The student shall obtain 4 points on the project to pass. More points will be awarded for more advanced projects. The final project will be presented to the teacher in a 20 minute session at the end of the course, and the number of points awarded will be decided then.

A more detailed guide to the number of points awarded for different types of projects and the number of points required for a specific grade will be published on this page when the course starts.

Learning objectives and syllabus

After completion of the course the student should be able to:

  • Describe more advanced algorithms and processes used to create computer graphics in 3D-games and movies.
  • Implement more advanced algorithms to generate real-time renderings and photo realistic renderings.

Syllabus: DAT205, DIT226

Course summary:

Date Details Due