CS475/CS675: Computer Graphics
Latest News: Short Film Contest Submissions
Logistics
- Class Timings: Slot 6 (Wed, Fri: 11am-12:30pm)
- Office Timings: After class or fix by email
- Classroom: SIC - 305
- Course Mailing List: cs475 AT cse, cs675 AT cse (BTech and DD subscribe to cs475, MTech and PhD subscribe to cs675)
- Teaching Assistant: Satya Narayan Sahoo
- Important: Academic Integrity of Assignment Submissions
Course Overview
This is the first course on Computer Graphics - here we will learn to draw images and make animations on the computer. This will be achieved by learning the underlying algorithms and hands-on implementations of those techniques. We will talk about everything, starting from basic drawing on the computer to special effects in movies. The course is programming intensive and will emphasize a lot on assignments and at least one project. Overall, it will be a lot of fun!
Eligibility/Prerequisites
If you are curious about computer graphics at all - attend the first lecture.
- This course is open to BTech, Dual 3rd year+ students and MTech 1st year students.
- Knowledge of C/C++ Programming is desirable.
- Basic Linear Algebra is desirable.
- Basic data structures and algorithms is desirable.
Lecture Schedule
| Date | Topics | Tasks |
|---|---|---|
| Jul 23 | Introduction to the course | See the course homepage. |
| Jul 28 | Rasterization Basics | Readings: Bresenham line drawing. Source code of demo shown in class can be foundhere. |
| Jul 30 | Drawing in OpenGL | Readings: Notes on Bresenham line drawing. Rasterization of Circles, Floodfill. Source for primitives drawing demo shown in class can be found here. |
| Aug 4 | Clipping | Assignment 1 has been announced. Join the course mailing lists. Readings: Cyrus-Beck Clipping |
| Aug 6 | 2D Transformations | Readings from book: Read Chapters 1, 2, 3, 5 (Sections 5.1 - 5.3), 6 and 8 (upto Section 8.2) |
| Aug 6 | Extra class on OpenGL Programming | Links to OpenGL resources. Source for demo shown in class can be found here. |
| Aug 11 | 3D Transformations | Readings from book: Read Chapter 6. |
| Aug 13 | Viewing Transformations | Readings from book: Read Chapter 6. |
| Aug 18 | The Modeling-Viewing Pipeline | Readings from book: Read Chapter 7. |
| Aug 20 | Quiz 1 | |
| Aug 20 | The Modeling-Viewing Pipeline | Readings from book: Read Chapter 7. |
| Aug 25 | Assignment 2 explained Quiz 1 answers discussed. | |
| Aug 27 | Ray Tracing 1 | Readings from book: Read Chapter 4. |
| Sep 1, Sep 4 | Ray Tracing 2 | Readings from book: Read Chapter 4 and 13. |
| Sep 8 | Shading | Readings from book: Read Chapter 10. Source for demo showed in class is here |
| Sep 15, Sep 17 | Mid-semester Exams | |
| Sep 22, Sep 24 | Visibility | Readings from book: Read Chapter 8, 12 (only sections 12.1(12.1.1-12.1.3), 12.3 and 12.4). More reference material is available in the online readings listed here. |
| Sep 29, Oct 1, Oct 6 | Texture Mapping | Readings from book: Read Chapter 11. A3, Part 1 announced. |
| Oct 8 | Hierarchical Modelling | More online reading material. |
| Oct 12 | Cubic Splines | Readings from book: Read Chapter 15. A3, Part 2 announced. |
| Oct 15 | Bèzier Splines | Readings from book: Read Chapter 15. Online notes on modelling curves. |
| Oct 19, Oct 20 | B-Splines | Readings from book: Read Chapter 15. Online notes on modelling curves. |
| Oct 22, Oct 27 | Modelling Surfaces | Online notes on modelling surfaces. |
| Nov 10 | Principles of Animation | Online notes on Animation. Quiz 2 on 12/11/2010. |
| Nov 12 | Interpolation for Animation | Online notes on Animation. |
Assignments and Homeworks
Important: Academic integrity is
paramount. Any dishonesty will be severely
dealt with.
Please read my views on academic
integrity of assignment submissions
before submitting anything to me.
- Assignment 3 Animation Film
- Assignment 3, Part 3
- Assignment 3, Part 2
- Assignment 3, Part 1
- Demo Schedule for A1 and A2
- Practice Homework 2
- Assignment 2
- Practice Homework 1
- Assignment 1
Assignments Submission
The Assignment Submissions Page is here.
Resources
- Books
- Textbook
- Other Books
- Interactive Computer Graphics - A Top-Down Approach Using OpenGL (5/e), Edward Angel
- Computer Graphics using OpenGL (3/e), F. S. Hill Jr. and S. M. Kelley
- Computer Graphics with OpenGL (3/e), D. D. Hearn and M. P. Baker
- OpenGL Tutorials
- OpenGL Documentation
- OpenGL Programmers Guide - The Red Book (for OpenGL v1.1)
- OpenGL.org - The official OpenGL site
- OpenGL 2.1 Specification
- OpenGL Man Pages
- Online Readings
- Rasterization Algorithms
- Notes on the Bresenham Line Drawing Algorithm
- The Bresenham Line Drawing Algorithm
- Optimizing the Bresenham Algorithm
- Algorithm for computer control of a digital plotter, J. Bresenham, IBM Systems Journal 4(1):25-30, 1965
- A Linear Algorithm for Incremental Digital Display of Circular Arcs, J. Bresenham, Communications of the ACM, 20(2):100-106, 1977
- Rasterizing Circles
- Floodfill Algorithm for drawing filled polygons
- Clipping Algorithms
- Transformations
- Ray Tracing
- Visibility
- Hierarchical Modelling
- Modelling Curves and Surfaces
- Animation
- Rasterization Algorithms
