New Building Website

CSA 386 Introduction to Computer Graphics (3 credits)

Typically offered during the spring semester.

 

Introduction to techniques to create images on the computer. Covers graphics hardware and software, animation, mathematical theory behind 3-dimensional translation, rotation, and scaling, and areas of graphics application such as computer-aided design. Programming required.

 
Prerequisites: CSA 274, and MTH 231.

Course Objectives:

  • To learn and experience the following fundamentals of computer graphics:
    • Graphics hardware and software
    • 3-dimensional image rendering and transformations
    • Color, lighting, shading, and texture mapping
  • To apply these fundamentals when implementing a graphics project .

Learning Outcomes:

CSA386.1:  The student will demonstrate an understanding of computer rendering algorithms and computer graphics pipeline architectures through the implementation of software for the purpose of displaying realistic animated 3D scenes.
CSA386.1.1  Student will demonstrate an understanding of issues related to real-time animation by implementing software for the purpose of displaying an animated.3D scene.
CSA386.1.2  Students will specify and apply transformations to create 3D scenes viewed from a particular viewpoint.
CSA386.1.3  Students will specify and apply transformations to position, orient, and scale visual objects in an animated 3D scene.
CSA386.1.4  Students will demonstrate practical understanding of Phong lighting model principles through the specification and implementation in a software application designed to render a realistically illuminated 3D scene.
CSA386.1.5  Students will modify normal vectors to achieve special-purpose lighting effects.
CSA386.1.6  Students will write event-driven programs that receive information from input devices such as a mouse or keyboard and allow a user to interact with an animated 3D scene in a useful manner.
CSA386.1.7  Students will correctly specify vertex related data.
CSA386.1.8  Students will use the depth buffer and other image space algorithms.

CSA386.2:  The student will demonstrate an understanding of the mathematics which underlie modern 3D rendering algorithms by manually performing mathematical computations.
CSA386.2.1  Students will correctly specify affine geometric transformations and perform related algebraic computations by hand.
CSA386.2.2  Students will correctly state the name of the coordinate frame, in which result of each transformation lies.
CSA386.2.3  Students will correctly perform calculation related to the Phong lighting model .
CSA386.2.4  Students will describe in order the operations carried out on vertex related data and the desired end result of each stage of processing of the graphics pipeline.
CSA386.2.5  Students will manually calculate the end results for a particular stage of the computer graphics pipeline.
CSA386.2.6  Students will describe common uses of the depth buffer and other image space algorithms needed to achieve a desired effect in the rendering of a 3D scene.
CSA386.2.7  Students will use two dimensional texture mapping to increase the realism and surface detail of 3D objects through the correct specification of texture coordinates and other texture parameters.

 

Required topics (approximate weeks allocated):

  • Introduction (1.0)
    • Applications
    • Graphics systems
    • Graphics hardware
    • Event handlers
  • Basic Rendering and Color (2.0)
    • Color specification
    • Drawing points, lines, and polygons
    • 3D objects
    • Graphics pipeline
    • Clipping algorithms
    • Polygon culling
  • Transformations (4.0)
    • Matrix and vector arithmetic
    • Rotation, translation, and scaling
    • Modeling, viewing, projection, and viewport transformations
    • Camera positioning and pointing
    • Animation
  • Lighting and Shading (2.0)
    • Ambient reflective, and specular lighting
    • Light sources
    • Material properties
    • Gouraud Shading
    • Phong reflective model
  • Texture Mapping (1.0)
    • Applying textures to 3D surfaces
    • Texture transformations
  • Input and Interaction (1.0)
    • Input devices
    • Selecting objects in a 3D scene
  • Image Space Algorithms (2.0)
    • Hidden surface removal
    • Blending and transparency
    • Fog and depth queuing
  • Efficiency in Graphics Applications (1.0)
  • Exams/Reviews (1)