Introduction To Computer Graphics (CG-461)

This is an introductory course to introduce undergraduate and graduate students to basics of computer graphics. Core concepts coordinate spaces, vectors, matrices, transformation, projection, rendering, clipping, 3D viewing will be covered in detail. After covering this course, the student is expected to gain enough understanding to write his/her own rasterization or ray tracing based rendering engine using OpenGL/DirectX.

Tentative Course Outline:

  • Introduction to Computer Graphics
  • Introduction to OpenGL Graphics API
  • Coordinate Spaces
  • Vectors and Matrices
  • Transformations
  • Affine Transformations: Translation, Rotation, Uniform Scaling
  • Non-affine Transformations: Non-uniform Scaling, Projection
  • Types of Projections
  • Viewing using Pinhole Camera Model
  • Lighting
  • Shadows
  • Render to Texture
  • Model Formats
  • Rendering Models: Rasterization vs Raytracing vs Pathtracing
  • Recent advances and introduction to GPUs
  • Conclusion
Total Lectures: 40
Total Assignments: 5-7
Total Quizzes: 5-7
Reference Books:
Projects List (including but not limited to):
  1. GPU based rasterization engine
  2. GPU based ray tracing engine
  3. GPU based path tracing engine
  4. Mesh model viewer
  5. Transformation modeler
  6. Simple physics simulator