Computer Graphics SWEN 5327D

Course description:

This   Course   aims   to   explain   the   necessary   background   and principles of computer graphics combined with direct applications in concrete and simple examples.
Coupling the theory with the practical examples enables the student to apply the technical concepts directly and to visually understand what they mean.

Course Aims:

This course aims to enable students to: 
  • The main objective of this course is to introduce to the students the concepts of computer graphics.  
  •  It  starts  with  an  overview  of interactive    computer   graphics,   two   dimensional    system   Mapping the graphics. 
  • presents  the  most  important  drawing  algorithm, two-dimensional  transformation;  Clipping,  filling.  
  • An introduction to 3-D graphics.

Course outcomes:

A successful student will:
  • Know and be able to describe the general software architecture of programs that use 3D computer graphics.
  • Know and be able to discuss hardware system architecture for computer graphics. This includes, but is not limited to: graphics pipeline, frame buffers, and graphic accelerators/co-processors.
  • Know and be able to use a current 3D graphics API (e.g., OpenGL or DirectX).
  • Know and be able to use the underlying algorithms, mathematical concepts, supporting computer graphics. These include but are not limited to:
    1. Composite 3D homogeneous matrices for translation, rotation, and scaling transformations.
    2. Plane, surface normals, cross and dot products.
    3. Hidden surface detection / removal.
    4. Scene graphs, display lists.
  • Know and be able to select among models for lighting/shading: Color, ambient light; distant and light with sources; Phong reflection model; and shading (flat, smooth, Gourand, Phong).
  • Know and be able to use and select among current models for surfaces (e.g., geometric; polygonal; hierarchical; mesh; curves, splines, and NURBS; particle.
  • Know and be able to design and implement model and viewing transformations, the graphics pipeline and an interactive render loop with a 3D graphics API.
    1. Be able to design and implement models of surfaces, lights, sounds, and textures (with texture transformations) using a 3D graphics API.
    2. Be able to discuss the application of computer graphics concepts in the development of computer games, information visualization, and business applications.
    3. Be able to discuss future trends in computer graphics and quickly learn future computer graphics concepts and APIs.