Admission requirements
Not applicable.
Description
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 and workshops in programming 3D graphics. In the second half of the semester, the class moves to current state of the art methods which are presented by the students. Examples of typical subjects which will be covered are:
3D modeling
3D lighting & effects
Real time rendering
Advanced applications and systems
Table of contents
Introduction to computer graphics and OpenGL
Mathematical fundamentals
Transformations: Translation, Rotation, Scaling
Homogeneous transformations
Viewports
Parallel, oblique, and perspective Projections
Line and surface representations
Diffuse and Specular Shading
Ray Tracing
Hidden surface removal
Radiosity
Particle systems
High performance rendering algorithms
Important research directions (e.g. SIGGRAPH, ACM TOG)
The student must be fluent in C/C++ programming.
Course objectives
At the end of the Computer Graphics course, the student should be able to
explain the theoretical/mathematical fundamentals in computer graphics
understand the programming fundamentals in computer graphics
analyze the current strengths and weaknesses of 3D graphics algorithms
have insight into ray tracing algorithms
have insight into illumination and rendering
have insight into interactive line and surface models
have insight into high performance computer graphics software systems
analyze theoretical and practical problems in computer graphics
create a computer graphics program
Timetable
The most updated version of the timetables can be found on the students' website and the main course website (link at the bottom of this webpage below):
You will find the timetables for all courses and degree programmes of Leiden University in the tool MyTimetable (login). Any teaching activities that you have sucessfully registered for in MyStudyMap will automatically be displayed in MyTimeTable. Any timetables that you add manually, will be saved and automatically displayed the next time you sign in.
MyTimetable allows you to integrate your timetable with your calendar apps such as Outlook, Google Calendar, Apple Calendar and other calendar apps on your smartphone. Any timetable changes will be automatically synced with your calendar. If you wish, you can also receive an email notification of the change. You can turn notifications on in ‘Settings’ (after login).
For more information, watch the video or go the the 'help-page' in MyTimetable. Please note: Joint Degree students Leiden/Delft have to merge their two different timetables into one. This video explains how to do this.
Mode of instruction
lectures seminar student discussions presentations software assignments
Assessment method
The course grade will be computed as follows: 30% for assignments (including in-class exercises) and 70% for the final project.
Reading List
All necessary educational materials are supplied digitally.
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
Research papers from recent ACM conferences and journals on computer graphics
Registration
From the academic year 2022-2023 on every student has to register for courses with the new enrollment tool MyStudyMap. There are two registration periods per year: registration for the fall semester opens in July and registration for the spring semester opens in December. Please see this page for more information.
Please note that it is compulsory to register for every exam and retake. Not being registered for a course means that you are not allowed to participate in the final exam of the course.
Extensive FAQ on MyStudymap can be found here.
Contact
Onderwijscoördinator Informatica, Education coordinator LIACS bachelors
Remarks
Attendance is mandatory (for special situations, please consult with the teacher). Absence (without permission beforehand) will result in not passing the course. If you can not attend a class, you are responsible for finding out what material you missed including any assignments that were given out.
Non-completed assignments receive a grade of zero.
Assignments turned in late: grade penalty of -1 per 24 hours (1 day), maximum 3 days late.
The final project can be submitted late but will have a late penalty of -1/day (with a maximum penalty of -3).
Please start class related emails with subject lines which start with CG: (e.g. CG: Help on lighting)