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
Hermite and Bezier modeling
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
understand the theoretical/mathematical fundamentals in computer graphics
understand the programming fundamentals in computer graphics
understand 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
have insight into theoretical and practical problems in computer graphics
build a computer graphics program
Literature
All 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
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):
Mode of instruction
lectures seminar student discussions presentations software assignments
Assessment method
The final grade will depend on student's participation in discussions,/presentations, programming assignments and the final project.
Registration
Aanmelding voor vakken verloopt via uSis. Hiervoor is de uSis-code van het vak nodig, die te vinden zijn in de Studiegids. Meer info over het inschrijven voor vakken of tentamens is hier te vinden.
MyTimetable
In MyTimetable kun je alle vak- en opleidingsroosters vinden, waarmee jij je persoonlijke rooster kunt samenstellen. Onderwijsactiviteiten waarvoor je in uSis staat ingeschreven, worden automatisch in je rooster getoond. Daarnaast kun je My Timetable gemakkelijk koppelen aan een agenda-app op je telefoon en worden roosterwijzigingen automatisch in je agenda doorgevoerd; bovendien ontvang je desgewenst per e-mail een notificatie van de wijziging.
Vragen? Bekijk de video-instructie, lees de instructie of neem contact op met de ISSC helpdesk.
Brightspace
Inschrijving voor vakken verloopt via uSis. Wanneer je je hier inschrijft voor een bepaald vak krijg je automatisch ook toegang tot de omgeving van dit vak via Brightspace.
Voor meer informatie over Brightspace kun je op deze link klikken om de handleidingen van de universiteit te bekijken. Bij overige vragen of problemen kan contact opgenomen worden met de helpdesk van de universiteit Leiden.
Contact
Onderwijscoördinator Informatica, Riet Derogee
Website
Computer Graphics Main Website
Remarks
Attendance is mandatory (for special situations, please consult with the teacher). Absence (without permission beforehand) will result in not passing the course.