# CSE 386 Introduction to Computer Graphics (3 credits)

Typically offered during the spring semester.

## Catalog Description:

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:

CSE 274, and MTH 231.

## 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
• Ambient reflective, and specular lighting
• Light sources
• Material properties
• 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)

## Course Outcomes

1: The student will demonstrate an understanding of the mathematics which underlie modern 3D rendering algorithms by manually performing mathematical computations.

1.1: Students will correctly specify affine geometric transformations and perform related algebraic computations by hand.

1.2: Students will correctly state the name of the coordinate frame, in which result of each transformation lies.

1.3: Students will correctly perform calculation related to the Phong lighting model .

1.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.

1.5: Students will manually calculate the end results for a particular stage of the computer graphics pipeline.

1.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.

1.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

2: 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.

2.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.

2.2: Students will specify and apply transformations to create 3D scenes viewed from a particular viewpoint.

2.3: Students will specify and apply transformations to position, orient, and scale visual objects in an animated 3D scene.

2.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.

2.5: Students will modify normal vectors to achieve special-purpose lighting effects.

2.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.

2.7: Students will correctly specify vertex related data.

2.8: Students will use the depth buffer and other image space algorithms.

3: The student will demonstrate an understanding of the mathematics which underlie modern 3D rendering algorithms by manually performing mathematical computations.

3.1: Students will correctly specify affine geometric transformations and perform related algebraic computations by hand.

3.2: Students will correctly state the name of the coordinate frame, in which result of each transformation lies.

3.3: Students will correctly perform calculation related to the Phong lighting model .

3.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.

3.5: Students will manually calculate the end results for a particular stage of the computer graphics pipeline.

3.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.

3.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

4: 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.

4.1: 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.

4.2: Students will correctly specify vertex related data.

4.3: Students will use the depth buffer and other image space algorithms.

4.4: Student will demonstrate an understanding of issues related to real-time animation by implementing software for the purpose of displaying an animated 3D scene.

4.5: Students will specify and apply transformations to create 3D scenes viewed from a particular viewpoint.

4.6: Students will specify and apply transformations to position, orient, and scale visual objects in an animated 3D scene.

4.7: 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.

4.8: Students will modify normal vectors to achieve special-purpose lighting effects.