CSC 305 - Introduction to Computer Graphics - Spring 2024

Course Instructor

Teseo Schneider

http://web.uvic.ca/~teseo/

teseo@uvic.ca

Office Hours:

by appointment

Lectures:

4:30pm - 5:50pm MW

DSB C103

Exam:

TBA

Course Overview

This course provides an introduction to the field of Computer Graphics. We will cover the basic mathematical concepts, such as 2D and 3D transformations, study the interaction of light with geometry to derive shading models, and implement rendering algorithms such as ray tracing and rasterization. We will investigate how these fundamental components are integrated in current graphics processors and study the corresponding programming APIs. This course will also include a brief introduction to C++.

By the end of the course, the student must be able to:

  • Explain and apply the fundamental mathematical concepts used in image synthesis algorithms
  • Implement a basic rendering system based on ray tracing
  • Implement a basic rendering pipeline based on rasterization
  • Develop graphics programs in C++ using the Simple Directmedia Library (SDL)

Topics

  • 3D Transformations
  • Viewing 3D scenes
  • Shading
  • Rendering pipeline and the GPU
  • Texturing
  • Polygonal meshes and other modelling techniques
  • Colour spaces
  • Light and colour
  • Ray-geometry intersection
  • Ray tracing

Course Objectives And Learning Outcomes

By the end of the course, the students will design, program, and analyze algorithms and systems for interactive 3D shape modeling and digital geometry processing.

Textbook

Fundamentals of Computer Graphics
5th Edition, September 30, 2021
A K Peters/CRC Press
Textbook - 716 Pages
ISBN 9780367505035

Grading

  • Assignments: 70%
  • Exam: 30%

Slides

01 Introduction
02 Linear Algebra
03 C++
04 Images
05 Ray Tracing
06 Procedural Synthesis
07 Spatial Data Structures
08 2D Transformations
09 Viewing Transformations
10 Rasterization Theory
11 Rasterization Implementation
12 Perspective Projection
13 Texture Mapping
14 Parametrization

Assignments

Rules

Assigment 1 - Optional
Assigment 2
Assigment 3
Assigment 4 - Optional
Assigment 5