Lehigh University
COLLEGE HOME | LEHIGH HOME | SEARCH




   

CSE 313    Computer Graphics (3)

Instructor: Xiaolei Huang

Current Catalog Description
Computer graphics for animation, visualization, and production of special effects:
 displays, methods of interaction, images, image processing, color, transformations, 
modeling (primitives, hierarchies, polygon meshes, curves and surfaces, procedural), 
animation (keyframing, dynamic simulation), rendering and realism (shading, texturing, 
shadows, visibility, ray tracing), and programmable graphics hardware. Prerequisite: 
CSE 109 or consent of the instructor.

Textbook

Francis S. Hill Jr., Stephen M. Kelley. " Computer Graphics with Open GL", Third Edition, Pearson Prentice Hall, 2007.

Reference

"OpenGL Architecture Review Board", Dave Shreiner, Mason Woo, Jackie Neider, Tom Davis.

"OpenGL (R) Programming Guide: The Official Guide to Learning OpenGL (R)", Version 2, 5th Ed., Addison-Wesley Professional, 2005

Course Outcomes

Students will have:

  1. An understanding of computing and mathmatical principles of how two and three dimensiional geometry is represented and reproduced on a computer screen.
  2. Ability to implement standard computer graphics algorithms, such as the Bresenham line-drawing, the Sutherland-Hodgeman polygon-clipping, BSP-tree visible surface detection, keyframe animation, and ray tracing rendering algoithms.
  3. Ability to write substantial graphics applications using C/C++ and OpenGL.
  4. Ability to propose and implement computer graphics solutions to designed arts.
  5. Ability to design and implement human-computer interaction interfaces.
  6. Ability to compare algorithms in terms of memory usage, speed, qualtity of result, and complexity.
  7. An understanding of how to take advantage of programmable graphics hardware.

Relationship between Course Outcomes and Program Outcomes

CSE 313 substantially supports the following program outcomes:

A. An abiltiy to apply knowledge of computing and mathmatics appropriate to the discipline

B. An ability to analyze a problem and identify and define the computing requirements appropriate to its solution

I. An ability to use current techniques, skills, and tools necessary to computing practices

 

Prerequisites by Topic 
1. Fluency in writing code in C or C++
2. Medium scale software design and implementation
3. Statically and dynamically allocated data structures
4. Recursion
5. Linear algebra, matrix operations
6. Geometry, vector operations

Major Topics Covered in the Course
1. Raster Graphics Hardware
2. The OpenGL and GLUT Libraries
3. Human Vision and Color Theory
4. Image Formation and Basic Image Processing 
5. Drawing 2D Lines, Circles, and Polygons
6. 2D Transformations, Windows, Viewports, 2D Line and Polygon Clipping
7. 3D Transformations, Projections, Viewing, Clipping
8. Mathematical Representations of Geometry, Tesselation
9. Polygon Meshes, Curves and Surfaces
10. Procedural Modeling and Fractals 
11. Keyframe animation, behavior-based animation
12. Physically-based simulation, Nonrigid Deformations
13. Anti-aliasing, Polygon Filling
14. Hidden Surface Elimination
15. Rendering and Realism, Illumination, Shading, Shadow, Surface Detail
16. Ray Tracing, Radiosity
17. Scene Graphs, Graphical User Interaction
18. Programmable Graphics Hardware


Assessment Plan for the Course

The students are given three homework assignments, three mid-size to large-size programming assignments, a midterm exam, and a final exam. Each programming assignment is given over a two to four week period. The students are given a skeleton program to start with, but must design a solution that implements one or two algorithms discussed in class, for a particular context given in the assignment description. I track the performance of the student on each homework assignment, each programming assignment, and each question on the midterm and final exam.

How Data in the Course are used to Assess Program Outcomes (unless adequately covered already in the assessment discussion under Criterion 4).

Each semester I include the above data from the assignment plan for the course in my self-asssessment of the course. This report is reviewed, in turn, by the Curriculum Committee.

     
image


©2012 P.C. Rossin College of Engineering & Applied Science
Computer Science & Engineering, Packard Laboratory, Lehigh University, Bethlehem PA 18015