Computer Graphics
Course Information
- Semester: 8th
- Course Code: 07-0613-CG802
- Credits: 03
- Course Teacher: Md Habibul Basar Faruq
- Email: mh.faruq06@gmail.com
Course Description
This course introduces the principles and techniques of computer graphics. Topics include the graphics pipeline, 2D and 3D transformations, viewing and projections, rasterization, shading, texture mapping, ray tracing, geometric modeling, animation, and advanced rendering. Students will learn the mathematical foundations and apply them in graphical application design.
Course Outcomes
Upon successful completion of this course, students will be able to:
- Understand the architecture of modern graphics systems and pipelines
- Apply 2D and 3D transformations for modeling and viewing
- Explain and implement rasterization techniques for primitives
- Analyze lighting models and shading techniques
- Apply texture mapping and anti-aliasing methods
- Understand and implement basic ray tracing
- Model curves and surfaces using parametric representations
- Explore animation techniques and GPU programming concepts
Weekly Topics
-
Week 1: Introduction to Computer Graphics
- Overview, history, and applications of graphics - Resources
-
Week 2: Graphics Pipeline and Coordinate Systems
- Stages in graphics pipeline, world-to-screen mapping - Resource 1 | Resource 2|Curves and Splines | Splines Video Link
-
Week 3: 2D Primitives and Scan Conversion
- Line drawing algorithms (DDA, Bresenham), circle drawing
-
Week 4: Polygon Filling and Clipping
- Scan-line fill, boundary-fill, flood-fill
- Clipping algorithms: Cohen–Sutherland, Sutherland–Hodgman
-
Week 5: 2D and 3D Transformations
- Translation, scaling, rotation, shear, reflection
- Homogeneous coordinates and composite transformations
-
Week 6: Viewing and Projection
- 3D viewing pipeline, perspective and orthographic projections
-
Week 7: Hidden Surface Removal
- Depth buffer (Z-buffer), Painter’s algorithm
-
Week 8: Lighting and Shading Models
- Ambient, diffuse, specular reflection
- Flat, Gouraud, and Phong shading
-
Week 9: Texture Mapping and Anti-Aliasing
- Texture coordinates, mipmapping
- Anti-aliasing techniques
-
Week 10: Introduction to Ray Tracing
- Ray casting, recursive ray tracing for reflection and refraction
-
Week 11: Geometric Modeling
- Curves and surfaces: Bézier curves, B-splines
-
Week 12: Animation Techniques
- Keyframe animation, motion interpolation, particle systems
-
Week 13: GPU and Shader Programming
- GPU architecture, vertex and fragment shaders
-
Week 14: Advanced Topics in Graphics
- Real-time rendering, VR/AR basics
-
Week 15: Review and Final Examination
Assessment Components
- Assignments and Quizzes – 15%
- Midterm Exam – 15%
- Final Exam – 60%
- Class Participation – 10%
Suggested Textbooks and References
- Fundamentals of Computer Graphics – Peter Shirley et al.Get the book
- Computer Graphics: Principles and Practice – Foley, van Dam, Feiner, Hughes
- OpenGL Programming Guide – Woo, Neider, Davis
- Online resources: LearnOpenGL, Scratchapixel
Course Credits:
- Content adapted and compiled from Stanford University’s CS248: Interactive Computer Graphics course materials.
- Material inspired by CMU 15-462/15-662: Computer Graphics, Fall 2010
Class Participants:
- Week 1: Present List