- Course Description
This course examines the mathematical elements and algorithms used in the design and development of real-time three dimensional computer graphics applications such as games, cockpit simulators, and architectural walk-throughs. 3D computer graphics involve drawing pictures of 3D objects, usually on a 2D screen. This process of generating a 2D image of a 3D graphics application can
be described as a series of distinct operations performed on a set of input data. Each operation generates results for the successive one. This process is called the graphics rendering pipeline, and it is the core of real-time computer graphics. The graphics pipeline can be conceptualized as consisting of three stages:
application, transformation, and rasterization. The course begins by introducing the 3D graphics pipeline. The application stage is examined from the viewpoint of the representation, modeling, and animation of 3D objects. Topics considered
include user interaction, camera animation techniques, simulation of dynamic objects, and collision detection techniques. Next, the course examines the process of mapping 3D graphic objects from model-space to viewport coordinates. The transformation stage implements this process. Finally, the conversion of a geometric primitive in viewport coordinates into a 2D image is studied. The rasterization stage implements this final process.
- Course Objectives
Upon successful completion of the course, the student will be able to perform the
following specific tasks: (1) implement a 3D mathematics package for manipulating
points, vectors, and affine transformations, (2) use modeling transformations to place
3D triangular meshes into world space, (3) use camera and device transformations to
view objects in world space, (4) clip and cull objects to a 3D viewing frustum, (5)
interpolate colors and textures, and (6) scan convert 3D triangles using a z–buffer.
- Teachnig Method
Programming assignments will be given on a weekly basis. These should be turned in
by midnight of the day that they are due. Late assignments are accepted, but with
a ten percent penalty for every week after the due date. All code submitted should
adhere to reasonable coding standards. In particular, all files should have a header that
contains the name of the student, the course number, the assignment number, and the
due date of the assignment. Code should be written in standard C++
- Textbook
- Assessment
- Requiments
CS200
- Practical application of the course
Learn the foundational concepts of Computer Graphics
- Reference