HS19: Advanced Computer Graphics (MINF4557)
Computer graphics is used in many areas such as special effects in movies, 3D games, interactive graphics on handheld devices or any 3D data visualization in general. In this post-introductory course, the students will learn and implement advanced 3D computer graphics techniques. In-class lectures will cover a wide selection of topics in the different sub-fields of computer graphics, ranging from rendering to geometric modeling. A series of targeted assignments will focus on specific approaches for 3D scene interaction, real-time rendering and geometry processing, while a final project will allow to combine a variety of techniques into a complex computer graphics application. The practical assignments and final project will be based on modern OpenGL.
The lab builds on the lecture Computer Graphics (BMINF002) which is recommended to be attended before this course.
Main reference textbooks:
- Real-Time Rendering, Fourth Edition by Tomas Akenine-Möller, Eric Haines, Naty Hoffman, Angelo Pesce, Michał Iwanicki, and Sébastien Hillaire. CRC Press, 2018
- OpenGL Superbible: Comprehensive Tutorial and Reference. 7th edition by Graham Sellers, Richard S. Wright Jr., Nicholas Haemel. Addison-Wesley Professional, 2015
Other textbooks and resources covering specific parts of the curriculum will be announced in the first week of the course.
Programming Assignments, Final Project and Mid-term Exam
For these course, students must be present and successfully participate in the lectures. The programming assignments and the final project must be completed in C/C++ and OpenGL as required and submitted in time (via OLAT, link at the top) to the teaching assistant, according to the rules for the specific project.
The assignments and the final project will be based on OpenGL and will target cross-platform desktop systems (OSX/Windows/Linux). Students will be provided with a basic framework that must be used as a starting point for the implementation of the techniques covered in the specific projects.
In addition to completing the programming assignments and the final project, each participant must successfully complete a mid-term written exam on the topics covered in the lectures.
The combined performance on practical assignments, final project and mid-term exam will be taken into account for the successful completion of the module. More details will be provided in the first lecture.