COL781: Computer Graphics

II Semester 2023-24

Course Description

This course provides a broad introduction to the fundamentals of computer graphics. It will start from the key theoretical and mathematical foundations and build up to practical implementation of complete graphics programs, with a focus on both real-time 3D rendering and high-quality offline graphics. A range of topics in the main areas of modeling, rendering, and animation will be covered.

Content: Foundations: rasterization, transformations in 2D and 3D, homogeneous coordinates, perspective projection, visibility, texture mapping. Modelling: polygon meshes, Bezier curves and surfaces, subdivision surfaces, mesh processing, geometric queries. Rendering: radiometry, shading models, the rendering equation, path tracing. Animation: skeletal animation, skinning, mass-spring systems, time integration, physics-based animation.

Textbooks: There is no required textbook, but it is recommended to refer to one or both of the following as supplementary reading:

Prerequisites: COL106 or equivalent. Familiarity with C++ programming and basic linear algebra is assumed.

Announcements: All announcements will be made on the Announcements forum of the course Moodle site. It is your responsibility to check it regularly.

Lectures

Slides will be posted here as the semester proceeds.

Monday/Tuesday Thursday Friday/Saturday
1-5 Jan 1. Introduction 2. Rasterization 3. Sampling and aliasing
8-12 Jan 4. Transformations 5. Affine transformations 6. Perspective projection
15-19 Jan 7. Perspective and visibility 8. Interpolation and texturing 9. Texture filtering
10. The rasterization pipeline
22-26 Jan 11. Transparency and shading 12. Shading and colour
29 Jan–2 Feb 13. Ray tracing 14. Recursive ray tracing 15. Introduction to modeling
5-9 Feb 16. Polygon meshes 17. Bézier curves 18. Bézier and subdivision surfaces
12-16 Feb 19. Mesh editing and querying 20. Spatial data structures [No class]
4-8 Mar 21. Radiometry
22. Material appearance 23. The rendering equation
11-15 Mar 24. Path tracing 25. Variance reduction 26. Bidirectional methods
18-22 Mar 27. Introduction to animation 28. Skeletal animation 29. Inverse kinematics
2-6 Apr 30. Skinning 31. Particle dynamics 32. Mass-spring systems
8-12 Apr 33. Constraints 34. Rigid bodies and collisions
15-19 Apr 35. Continuum models 36. Solids and fluids 37. Real-time rendering
22-26 Apr 38. Real-time global illumination 39. Conclusion

Assignments

All dates of future assignments are tentative and subject to change.

  1. Software rasterization (19 Jan – 6 Feb)
  2. Mesh processing (6 Feb – 5 Mar)
  3. Path tracing (5 Mar – 2 Apr)
  4. Keyframing and simulation (2 Apr – 22 Apr)

Policies

Evaluation:

The above grading breakdown is tentative and subject to change.

Grading: Following institute policy, a minimum of 80% marks are required for an A grade, and minimum 30% marks for D.

Late policy: Homework assignments are due at 11:59pm on the due date. You are allowed a total of 6 late days across all the assignments. After the total allowed late days have been used up, a 25% penalty will be applied for each extra day a submission is late.

Audit policy: To earn an audit pass, you must score at least 40% in the course total, and at least 20% in each assignment and each exam.

Attendance policy: Attendance lower than 75% may result in a one-grade penalty (e.g. A to A–, or A– to B).

Academic dishonesty: Adapted from SAK’s general guidelines for students:

Remember that you have signed an honour code before getting admitted to IIT Delhi. Check that out on the inside cover page of your prospectus. Here is a non-exhaustive list of dishonest behaviour in assignments, based on past experience.

Please note the following points in addition.