252-0543-01L  Computer Graphics

SemesterAutumn Semester 2010
LecturersM. Gross, W. Jarosz, A. Sorkine-Hornung
Periodicityyearly recurring course
Language of instructionEnglish

AbstractThis course covers some of the fundamental concepts of computer graphics. The three main parts of the class are image synthesis, geometric modeling, and computer animation.
ObjectiveAt the end of the course students will be able to design and implement a rendering system based on raytracing. You will study the basic principles of modeling with splines and integrate spline-based representations into a rendering system. You will also become familiar with central concepts in animation. In addition we want to stimulate your curiosity to explore the field of computer graphics on your own or in future courses.
ContentThis course covers some of the fundamental concepts of computer graphics. The three main parts of the class are rendering, modeling, and animation. In the first 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 investigate some advanced techniques to enhance the realism of rendered images. The second part will introduce the basics of modeling with curves and surfaces. We will discuss Bezier curves and surfaces, B-Splines and NURBS, and show how they can be used to design complex 3D geometry. In the third part, we focus on computer-generated character animation and introduce some of the core techniques used in animation for feature films and games. We will discuss basic principles of character animation, techniques to augment a digital character with controls to deform it into different poses, and methods to set the control values over time in order to create movement.
Lecture notesno
Prerequisites / NoticePrerequisites:
Fundamentals of calculus and linear algebra, basic concepts of algorithms and data structures, basic programming skills in C++, Visual Computing core course recommended.