CS-341 / 6 credits

Teacher: Pauly Mark

Language: English


Summary

The students study and apply fundamental concepts and algorithms of computer graphics for rendering, geometry synthesis, and animation. They design and implement their own interactive graphics programs.

Content

This course provides an introduction to the field of Computer Graphics. We will cover elementary rendering algorithms such as rasterization and raytracing, examine mathematical concepts and algorithms for geometric modeling, and then study concepts and algorithms for computer animation. Students will experiment with modern graphics programming and build small interactive demos. Complemented by some theoretical exercises, these programming tasks lead to a graphics software project, where small teams of students design and implement a complete graphics application.

Keywords

Pixels and images, 2D and 3D transformations, perspective transformations and visibility, rasterization, interpolation and lighting, raytracing, shader programming, texture mapping, procedural modeling, curves and surfaces, polygonal meshes, particle systems

Learning Prerequisites

Required courses

Linear Algebra, Calculus

Recommended courses

CS-328 Numerical methods for visual computing

Learning Outcomes

By the end of the course, the student must be able to:

  • Explain and apply the fundamental mathematical concepts of computer-based image and geometry synthesis
  • Implement a basic rendering pipeline based on rasterization and raytracing
  • Design and implement geometry synthesis based on procedural modeling
  • Design and implement basic computer animation algorithms
  • Integrate individual components into a complete graphics application
  • Coordinate a team during a software project

Teaching methods

Lectures, interactive demos, theory and programming exercises, programming project, project tutoring

Expected student activities

The student are expected to study the provided reading material and actively participate in class. They should prepare and resolve the exercises, prepare and carry out the programming project. Exercises and project are done in groups of three students.

Assessment methods

  • Programming homeworks and group project
  • Final written examination

Resources

Notes/Handbook

Slides and online resources will be provided in class

Moodle Link

Prerequisite for

Advanced Computer Graphics

In the programs

  • Semester: Spring
  • Exam form: Written (summer session)
  • Subject examined: Computer graphics
  • Courses: 2 Hour(s) per week x 14 weeks
  • Exercises: 1 Hour(s) per week x 14 weeks
  • Lab: 2 Hour(s) per week x 14 weeks
  • Type: optional
  • Semester: Spring
  • Exam form: Written (summer session)
  • Subject examined: Computer graphics
  • Courses: 2 Hour(s) per week x 14 weeks
  • Exercises: 1 Hour(s) per week x 14 weeks
  • Lab: 2 Hour(s) per week x 14 weeks
  • Type: optional
  • Semester: Spring
  • Exam form: Written (summer session)
  • Subject examined: Computer graphics
  • Courses: 2 Hour(s) per week x 14 weeks
  • Exercises: 1 Hour(s) per week x 14 weeks
  • Lab: 2 Hour(s) per week x 14 weeks
  • Type: optional

Reference week

Wednesday, 15h - 17h: Lecture CO2

Thursday, 15h - 17h: Project, labs, other PO01

Thursday, 17h - 18h: Exercise, TP PO01

Related courses

Results from graphsearch.epfl.ch.