Course Objective:

The objective of this course is to introduce students to Computer Graphics (CG), an interdisciplinary area focused on rendering realistic images/videos of a virtual world. This course covers basic mathematical and computational techniques of computer graphics that are widely applicable in various areas, including visual effects and animation in games and movies, virtual and augmented reality, novel view synthesis, and scientific visualization.

Course Contents

Basics of Computer Graphics: Introduction to the CG, Rasterization Basics and OpenGL API (4 lectures)

Components of Computer Graphics: Pinhole Camera and Clipping Model, Coordinate Systems - 2D Transformation, 3D Transformation (5 lectures) (Lab: 6 programming hours)

Image Generation Pipeline: Viewing Transformation, Modelling-Viewing Pipeline, Visibility & Occlusion (10 lectures)

Modelling & Rendering: Hierarchical Modelling, Rendering, and Texture Mapping (8 lectures) (Lab: 8 programming hours)

Curves and Surfaces: Cubic, Bezier & B-Splines curves, and Surfaces (9 lectures)

Advanced Topics: Animation, Optimization, and PDEs (6 lectures) (Lab: 10 programming hours)

Learning Outcomes

Upon successful completion of the course, students will:

  • learn the mathematical and computational techniques needed to generate images/video of a virtual world on a screen

  • gain knowledge to model 2D and 3D objects in a virtual world and lighting & texturing these objects

  • understand the numerical techniques to represent various curves and surfaces that are useful to represent object geometry, motion, and kinematics

  • learn the principles of basic key-frame animation. Later, in a more advanced course, we will learn how to generate more realistic animation with physics underpinning

Text Book

  1. Fundamentals of Computer Graphics (4/e), Peter Shirley and Steve Marschner, Taylor & Francis Group, ISBN-10: 9781138744813, ISBN-13: 978-1138744813

Reference Materials

  1. Computer Graphics using OpenGL (3/e), F. S. Hill Jr. and S. M. Kelley, Pearson India, ISBN-10: 9332555303, ISBN-13: 978-9332555303

  2. Physics-based Animation, Kenny Erleben, Jon Sporring, Knud Henriksen and Henrik Dohlman, Charles River Media (2005), ISBN-10: 1584503807, ISBN-13: 978-1584503804

  3. Learn OpenGL Tutorials: https://learnopengl.com

  4. The OpenGL Programming Guide: http://www.opengl-redbook.com/

  5. Associated Libraries: OpenGL, GLUT, GLEW, GLFW, GLM

  6. Open source materials on physics-based animation https://www.physicsbasedanimation.com/, https://phys-sim-book.github.io/

Past Offerings

Course Metadata

Item Details
Course Title Fundamentals of Computer Graphics
Course Code CS5024
Course Credits 3-0-2-4
Course Category PME
Proposing Faculty Avirup Mandal
Approved on Senate 11 of IIT Palakkad
Course prerequisites (CS2013 Systems Programming, CS2030 Data Structures & Algorithms, and MA1011 Linear Algebra & Series) Or (CS5107 Programming Lab)
Course status NEW