ECE 495E - Fundamentals of Computer Graphics

Note:

This course meets with CS 334.

Details on the Course Projects

Students are assigned a series of four projects using the OpenGL graphics standard API. The projects can be done in C/C++ on any platform (Unix, Linux, Windows). The projects will involve implementation of the topics in the class using the graphics API that will actually implement most of the low-level programming for the students. These projects will give students a high-level introduction to graphics programming. The students will also be assigned 3 projects using the Renderman shading language [Renderman is the standard high-level shading language used in the movie effects industry for photorealistic rendering] to give them experience implementing more advanced topics from the class.

Course Details

Lecture Hours: 3 Credits: 3

This is an experiential learning course.

Counts as:

Experimental Course Offered:

Spring 2004, Fall 2004

Catalog Description:

This course will cover basic and advanced principles of interactive computer graphics: raster graphics, color models, anti-aliasing and texture, image-space and object-space methods, 3D homogeneous coordinates, perspective, illumination models, depth cueing, hidden line elimination, morphing and other techniques.

Required Text(s):

  1. Interactive Computer Graphics: A top Down Approach Using OpenGL , 3rd Edition , Ed Angel , Addison-Wesley , 2002 , ISBN No. 020-185-5712

Recommended Text(s):

None.

Learning Outcomes:

A student who successfully fulfills the course requirements will have demonstrated:
  1. an understanding of the design issues for creating raster graphics. [b,c,j,k]
  2. an ability to apply rendering techniques to an actual computer graphics problem and associated datasets. [a,c,e,k]
  3. an understanding of object transformations, representations, transformations, and perspective projections. [a]
  4. an understanding of color, illumination, and shading techniques. [a]
  5. an understanding of the rendering and rasterization techniques. [a]
  6. an understanding of the application of computer graphics techniques to visualization, animation, and computer aided design. [j,k]

Lecture Outline:

Week(s) Topic(s)
1-2 Brief overview of computer graphics and architecture (rendering pipeline), graphics software, and graphics applications. Introduction to the OpenGL library, example programs.
3 Raster basics: drawing lines and circles, clipping algorithms, polygon intersection. Alias effects, techniques to counter them.
4-5 From the scene to image: Objects, transforms, color and illumination models, polygonal object representation, texture maps, view port clipping, rasterization.
6-7 Perspective and projection, affine and projective coordinates, rigid body motions. Object manipulation, concepts from projective geometry.
8-9 Color perception and color models, local illumination, ambient, diffuse, and specular light models. Material properties. Gouraud and Phong shading.
10-11 Basic ray tracing, direct and indirect illumination, reflection and refraction. Constructive Solid Geometry (CSG), ray tracing CSG models.
12-13 Object geometry: polygon mesh, implicit surfaces, parametric curves and surfaces. Modeling with implicit surfaces. Construction of polygon meshes.
14-15 Survey of basic tools and techniques for animation, scientific visualization, and computer-aided design.

Engineering Design Content:

  • Analysis
  • Construction
  • Testing

Assessment Method:

The course outcomes will be assessed through student submission of working programs and two (2) in class examinations.