CS 535 - Intermediate Computer Graphics

Bulletin Description

Three-dimensional graphics primatives such as 3D viewing, lighting, shading, hidden line/surface removal, and more advanced topics such as solid modeling, image storage and representation, advanced raster graphics architecture and algorithms, advanced modeling techniques, and animation will be covered.


CS-335, CS-315, CS-321, and engineering standing.

Expected Preparation

Students should be capable of programming in C or C++, and have a general understanding of 2D Graphics, data structures, and numerical computing.

Student Learning Outcomes

The students will learn to design and implement large and complicated graphics programs. Students will learn primitives of 3D graphics, visualization and rendering techniques, advanced raster architectures and raster algorithms, and topics in modeling, image processing, and animation. They will also learn user-interface issues for 3D interaction devices. Specifically students will:

  1. Understand the concept of 3D viewing, lighting and rendering process.
  2. Understand the concept of hidden surface elimination, and know techniques that can be used for such a process, as well as criteria to determine if a method is appropriate for particular hidden surface elimination problems.
  3. Be familiar with the shading process.
  4. Understand the concept of shadow generation and know how to choose shadow-generation methods for 3D rendering problems.
  5. Understand how to use CSG trees to represent solids, how to perform Boolean operations on solids and how to render a CSG-represented solid.
  6. Understand how to use B-splines in 3D shape representation and how to perform subdivision and tessellation on B-spline based representations.
  7. Be able to write OpenGL programs to render 3D scenes consisted of polygonal objects and objects bounded by free-form surfaces.


Direct Measures:

Students are evaluated on their work (homeworks, projects and exams).

Students receive back their homework and exams. These papers are marked to indicate problems and they point out correct or better solutions. Problems that turn out to be especially difficult are discussed in class during lectures.

Different numerical scales are used for graduate students and undergraduate students. For graduate students, we use the following scale:

90 - 100


80 - 89


70 - 79


60 - 69


0 - 59


For undergraduate students we use the following scale:

86 - 100


76 - 85


66 - 75


56 - 65


0 - 55


Indirect Measures:

These outcomes will be evaluated on the basis of student homeworks, programming assignments, exams and class participation that contain problems related to the outcomes.

Syllabus Information

Possible Textbooks:

Computer Graphics: Using Open GL, 2nd Edition
F.S. Hill, Jr
Prentice Hall, New Jersey, 2001

Computer Graphics: Principles and Practice, 2nd Edition in C
J. D. Foley, A, van Dam, S. K. Feiner, and J. F. Hughes
Addison-Wesley, Reading, Mass. 1996

Additional Comments:

The course will focus evenly on theory and practice. Attention will especially be given to the design and implementation of a graphics system so that a student can do graphics system programming as well.