II Semester 2022-23
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 keep one 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.
Slides will be posted here as the semester proceeds.
Tuesday | Wed/Thursday | Friday/Sat | |
---|---|---|---|
Week 1 | 1. Introduction | 2. Rasterization | 3. Sampling and aliasing |
Week 2 | 4. Transformations | 5. Affine transformations | 6. Perspective projection |
Week 3 | 7. Perspective and visibility | 8. Interpolation and texturing | 9. Texture filtering |
Week 4 | 10. The rasterization pipeline | 11. Transparency and shading | |
12. Ray tracing | |||
Week 5 | 13. Ray tracing | 14. Introduction to modeling | 15. Bézier curves |
Week 6 | 16. Bézier and subdivision surfaces | ||
Week 7 | 17. Polygon meshes | 18. Mesh editing and querying | 19. Spatial data structures |
Week 8 | [Class cancelled] | 20. Radiometry | |
Week 9 | 21. Colour | 22. Material appearance | 23. The rendering equation |
Week 10 | 24. Path tracing | 25. Variance reduction | 26. Bidirectional methods |
Week 11 | 27. Real-time rendering | ||
Week 12 | 28. Real-time global illumination | 29. Rendering wrap-up |
All dates of future assignments are tentative and subject to change.
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 4 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.
Outsourcing of homework, assignments, project report, term paper or even exams to another person or “service” is a very serious academic offence and could result in disciplinary action. In the case of an exam there is the additional offence of impersonation and it could result in disciplinary action.
Copying programming code in whole or in part from another or allowing your own code (in whole or in part) to be used by another in an assignment meant to be done individually is a serious offence.
Collaboration between different teams on the same project or assignment is academic misconduct.
Sharing of passwords and login IDs is explicitly disallowed in this Dept. and in this Institute and any instance of it is academic misconduct. Such sharing only compromises your own privacy and the security of our Dept./Institute network.
Sending anonymous mails complaining of various unnamed instances of cheating is blatant academic dishonesty. You need to remember that instructors are not policemen; they are not employed to prevent students from cheating; they are only here to teach, evaluate and perform other academic tasks such as research, project guidance and consultancy.
Please note the following points in addition.
Discussion between different teams cannot be prohibited at the level of algorithms and methods adopted. However, there should be no obvious indication of these common discussions in programs.
Please ensure that your assignment directories and files are well-protected against copying by others. Deliberate or inadvertent copying of code will result in penalty (to be determined based on the situation) for all parties who have “highly similar” code. Note that all the files of an assignment will be screened manually or by a program for similarity before being evaluated. Since similarity is a symmetric relation, we cannot and will not distinguish between the “copier” and the “copyee”!