This course covers some of the fundamental concepts of modern computer graphics. The main topics of the course are modeling and rendering. In the modeling part, we will discuss how digital 3D scenes are represented and modeled. We look at Bezier curves and surfaces, B-Splines and NURBS, as well as procedural and point-based modeling, and learn how these are used to design complex 3D geometry. In the rendering part, we will discuss the basics of photorealistic image synthesis, i.e. how to generate a realistic image from a digital representation of a 3D scene. After introducing raytracing, we will briefly look at the physics of light transport, discuss the rendering equation and global illumination principles, and investigate advanced image synthesis techniques, such as image- and video-based rendering, appearance modeling and acceleration techniques.
At the end of the course you will be able to design and evaluate a rendering system. You will study the basic principles of geometric modeling and become familiar with geometric representations and modeling algorithms. In addition we want to stimulate your curiosity to explore the field of computer graphics on your own or in future courses.
Fundamentals of calculus and linear algebra, basic concepts of algorithms and data structures, basic programming skills in C-like languages (we use JavaScript for exercises), Visual Computing course recommended.
Mailing list (eth-cg14googlegroups.com) is set up to facilitate the communication between students. All the correspondences are available here for later references. Send an email to TA to subscribe the mailing list. There is also the forum (powered by VIS) for the course. It is greatly encouraged to use the mailing list or the forum, instead of private-mailing to TA, when asking questions or initiating discussions so that the entire class can participate in the discussions.
The following topics will be covered through the semester. They will be interleaved with each other to provide a good balance between different fields.
Surface Representation, Bezier Curves, Spline and B-Spline Curves, Tensor Product Surfaces, Rational Curves and Surfaces, Procedural Modeling
Ray Tracing, Acceleration Data Structures, Shading Models, Appearance Modeling, Texturing, Rendering Equation, Image/Video-Based Rendering, Point Based Graphics
Throughout the course you will implement a few important ideas you've learnt like raytracing, BRDF, modeling of a curve, etc., using WebGL technology. A basic template will be provided and you will be required to implement several functionalities step by step. You are encouraged to play with it and extend your program to achieve advanced effects.
There will also be several pencil and paper exercises to remind you of the knowledge you should have been familiar with and to recap the important material which will be covered during the lecture.
Assignments will be handed out every one or two weeks and will be discussed in the exercise class. Each exercise has a fixed due date at which all the required material has to be handed in. The ONLY exceptions for late submission are military service or illness, both of which require written proof.
There will be a 2-hour written exam covering the topics from the excercises and the ones discussed in class. No additional material is allowed during the exam.
Number | 252-0543-01L |
Lecturers | Prof. Dr. Markus Gross Prof. Dr. Olga Sorkine-Hornung |
Assistants | Changil Kim Romain Prévost |
Course Location | Tuesday 9–10, CAB G 52 Friday 10–12, CAB G 52 |
Exercise Location | Friday 14–16, CAB G 59 for recitations; CAB H 56 for grading sessions |
ECTS Credits | 6 credits |
Exam | 120 minutes, written exam (in English!) |