Computer Graphics (fall semester)
     (Studygids computer graphics webpage)

(1) [After mid-August] Create a login on the LML Course Manager: https://LCM.liacs.nl and then
(2) Register for Course: Computer Graphics

***News: final grades should be expected in the week after the January lockdown ends (last week of January, 2021)

Period: Tuesday, Fall 2020, Sept. 1 - Dec. 8

Time: 16:15-18:00

Place: Kaltura Room (for password, see LML Course Manager webpage)
          https://smart.newrow.com/#/room/pfu-421

Organizers:

Michael Lew (Lecturer)
Room 134, Email: m.s.k.lew@liacs.leidenuniv.nl

Students: Please start class related emails with subject lines which start with CG: (e.g. CG: Help on lighting) In general I respond to emails within 2 workdays (Mon-Fri). If you do not get a response, please resend the email - Dr. Lew

Assistants:

Nan Pu, Systems Assistant, n.pu@liacs.leidenuniv.nl

Ruben van der Waal, Lead Teaching Assistant, r.vdwaal1995@gmail.com

Koen Bouwman, Teaching Assistant, koen.bouwman@gmail.com

Questions: For general course questions and theory, email Dr. Lew. For programming advice, email Ruben or Koen.

Requirements: The student should be fluent in C/C++ programming. (note: There is a large amount of programming in this course!)

Abstract:

The goal of this course is to create a foundation (theory and programming) for understanding the current and future technology underlying computer graphics. Our intention is to create a synergistic mixture of theory and practice.

The first part of the class begins with introductory lectures into the mathematical fundamentals of computer graphics and workshops in programming 3D graphics. In the early years that the course was given it was completely lectures and had a passing rate of 60%. Then we introduced the notion of problem session workshops (and homeworks) and the passing rate increased to 90%. The fundamental philosophy is that students learn the material best by practicing it in the followup workshops where an expert is also there to give guidance and insight. The first half of the course is intended to combine theory (lectures) and practice (programming).

The problem session workshops are assignments which should be done in the computer room under the supervision of the teaching assistant. They are interactive learning sessions where the teaching assistant is on-hand to explain and give assistance to the students in computer graphics programming exercises.

In the second half of the semester, the class moves to current state of the art methods which are presented by the students. Part of the class will give presentations and part of the class will be given an advanced programming assignment (the individual preferences will be handled by the student assistant).

There is a final project (programming) expected at the end of the course worth 50% of the total grade - this is the culmination of your skills developed during the course instead of an exam (there is no final exam).

Examples of typical subjects which will be covered are:

    - 3D modelling
    - 3D lighting & effects
    - Real time rendering
    - Computational geometry and advanced applications

Textbook: No textbook is necessary. All educational materials are supplied as attachments on the LML Course Manager.
For additional, optional reading: Computer Graphics Using Open GL by F. S. Hill, Jr. (Prentice-Hall, 2001 or later, ISBN: 0-02-354856-8)
2006 - 3rd Edition: ISBN-13: 978-0131496705

Grading (6 EC):

    - Homework/Student Presentations/Attendance: 30%, Problem Session Workshops, 20%, Final Project: 50%
The homework is important for understanding the foundations of computer graphics and therefore it is necessary to submit answers for all homework. Only when a student has submitted the 2nd homework (on diffuse and specular shading) on time then he will be assigned a presentation and be considered to be following this course.

Assignments turned in late: grade penalty of -1 per 24 hours (1 day)

If you can not attend a class, you are responsible for finding out what material you missed including any assignments that were given out.

The themes for the projects are Fireworks or Interactive Creatures or Scenery. More information will be given on the LML Course Manager.

Note (an addition on consequences of absence requested by Bach. Educ. Comm.): Computer graphics is a course that builds upon itself, week by week. This means that attending all of the sessions during the first 6 weeks is especially important (and necessary).

Attendance is mandatory in general (for special situations, please consult with the teacher). Absence (without permission beforehand) will result in not passing the course.

Note that on workshop days, attendance will not be taken because submission of the workshop is the proof of attendance. On the normal full lecture or presentation days, the attendance will usually be taken using a signup sheet or Kaltura.

Syllabus (tentative)

Note that homework, slides, and other information are on the LML course manager at LCM.liacs.nl

1. 09-01   Theory Lecture: Introduction to Computer Graphics and Matrix Math, Projections & Open_GL
        - Optional Reading in FS Hill 2001: Chapters 4, 5, and 7;
        - Optional Reading in FS Hill 2006: Chapters 4, 5, and 7;

2. 09-08   Theory Lecture: Fundamentals of 3D Modeling: Lines, Aliasing, Curves, Surfaces, Hermite, Bezier
        - Optional Reading in FS Hill 2001: Chapters 6.1-6.2, 10, 11.1-11.6
        - Optional Reading in FS Hill 2006: Chapters 6, 10 -

3. 09-15   Programming Lecture / Problem Session Workshop 1

4. 09-22   Theory Lecture: 3D Illumination & Shading & OpenGL
        - Optional Reading in FS Hill 2001: Chapters 8, 13, 14.1-14.8
        - Optional Reading in FS Hill 2006: Chapters 8, 11, 12

5. 09-29   Theory Lecture: Ray Tracing & Advanced Topics

6. 10-06   Programming Lecture / Problem Session Workshop 2

7. 10-13   Programming Lecture / Problem Session Workshop 3

-- 10-20   No class

8. 10-27   Programming Lecture / Problem Session Workshop 4

8. 11-03   Theory Lecture: Textures and Mip Mapping / Student Presentations and Questions/Answers for final project

9. 11-10   Student Presentations

10. 11-17   Student Presentations

11. 11-24   Student Presentations

12. 12-01   Projects Expo (all final projects must be shown on this day)

13. 12-08   Project Submission Deadline