Computer Graphics

Curriculum guideline

Effective Date:
Course
Discontinued
No
Course code
CMPT 3361
Descriptive
Computer Graphics
Department
Computing Science
Faculty
Science and Technology
Credits
3.00
Start date
End term
Not Specified
PLAR
No
Semester length
15 Weeks
Max class size
35
Course designation
None
Industry designation
None
Contact hours

Lecture: 2 hours/week

and

Lab: 2 hours/week

Method(s) of instruction
Lecture
Lab
Learning activities

The topics are covered through in-class lectures, laboratory assignments, projects, readings, and research.

Course description
This course is an introduction to modern computer graphics systems. Fundamental concepts of computer graphics systems are covered, including mathematical foundations, high-resolution graphics system architecture, and core graphics programming algorithms. Topics include graphics systems and models, graphics hardware, implementation of computer graphics using the Open Graphics Library (OpenGL), geometrical transformations, viewing and projections, lighting and shading, clipping and rasterization, rendering, rendering pipelines, and interaction techniques.
Course content
  1. Graphics systems and models
    • Image formation
    • Imaging systems
    • Graphics architectures
  2. Graphics programming
    • Programming 2D applications
    • OpenGL programming
    • Primitives and attributes
    • Colour attributes
    • Control functions
    • Polygons
  3. Geometric objects and transformations
    • Scalars, points, and vectors
    • Coordinate systems
    • Frames in OpenGL
    • Matrix and vector classes
    • Translation, rotation, and scaling
    • Transformation matrices in OpenGL
  4. Projections
    • Positioning of a camera
    • Parallel projections
    • Perspective projections
    • Projection matrices
    • Projection and shadows
  5. Lighting and shading
    • Light sources
    • Reflection modelling
    • Polygonal shading
    • Lighting models
  6. Discrete techniques
    • Buffers
    • Mapping methods
    • Texture mapping
    • Texture generation
    • Environment mapping
    • Bump mapping
    • Sampling and aliasing
  7. Clipping and rasterization
    • Line-segment clipping
    • Polygon clipping
    • Polygon rasterization
    • Hidden-surface removal
    • Anti-aliasing
  8. Rendering
    • Ray tracing
    • Radiosity
    • Parallel rendering
Learning outcomes

Upon successful completion of this course, students will be able to:

  • explain the core concepts and mathematical foundations of computer graphics;
  • analyze fundamental graphics algorithms and data structures;
  • identify a typical graphics pipeline and its stages;
  • summarize specialized graphics programming techniques such as shader programming and texture mapping;
  • design and implement interactive computer graphics applications using OpenGL;
  • construct and apply two-dimensional (2D) and three-dimensional (3D) transformations, including translation, rotation, scaling, shearing, and reflection;
  • apply projection techniques and visible surface detection methods to render 3D scenes on 2D screens;
  • compare and contrast fundamental lighting and shading models used in computer graphics;
  • utilize different clipping methods to extract 3D scenes;
  • describe the 3D rendering process.
Means of assessment

Assessment will be in accordance with the Douglas College Evaluation Policy. The instructor will present a written course outline with specific evaluation criteria at the beginning of the semester. Evaluation will be based on the following:

Labs        

10-20%

Assignments     

 0-20%

Projects

 0-20%

Term Test(s)

25-35%

Final Exam

30-40%

In order to receive a D grade (or higher) in the course, students must receive an overall course grade of at least 50% and a grade of at least 50% on the combined weighted examination components (Term Test(s) and the Final Exam).

Textbook materials

Consult the Douglas College Bookstore for the latest required textbooks and materials. Sample textbooks and materials may include:

  • Edward Angel and Dave Shreiner. (Current Edition). Interactive Computer Graphics. Pearson.
Prerequisites

CMPT 1267 (with a grade of C or better) and

CMPT 2300 (with a grade of C or better) and

One of MATH 2210 (with a grade of C or better) or MATH 2232 (with a grade of C or better)

Corequisites

None

Equivalencies