CIS 487 Interactive 3D Graphics (3)

Catalog Description:

Graphics hardware and software; graphics standards. Topics include two- and three-dimensional transformations, projection, illumination models, and programmable shaders. A significant graphics project is an important component of the course. (Offered fall semester, odd years.)


Prerequisites:


CIS 385 Data Structures and Algorithms (MATH 261 Linear Algebra or MATH 211 Calculus III are recommended, but not required.)

Required Course Materials:

 

  1. AaftabMunshi, Dan Ginsburg, Dave Schreiner, OpenGL ES 2.0 Programming Guide, Addison-Wesley, 2008
  2. Donald Hearn, Pauline Baker, Computer Graphics with OpenGL, 3rd edition. Prentice Hall, 2003
  3. Tomas Akenine-Moller, Eric Haines, Naty Hoffman, Real-time Rendering, 3rd edition, AK Peters, 2008

Course Coordinator:


David R. Owen, Associate Professor of Computer Science

Course Audience:

Information Science junior or senior majors. One of two alternate-year 400-level courses offered as regularly catalogued courses. The Networking course is probably a better choice for students planning on getting a job right out of college; this course, for students planning on beginning graduate study immediately.


Course Objectives:

Having completed CIS 487, students will be able to:

  1. Use (with understanding) basic OpenGL modeling, projection, texture and lighting features.
  2. Map a simple 3D scene onto a 2D viewing plane mathematically.
  3. Evaluate alternative algorithms that might be used in a given graphics application, e.g., shading, curve drawing, polygon clipping, or shadow generation algorithms.
  4. Work in a team to analyze a computer graphics problem, design and program a solution, clearly document and present the solution to others.

Topics:

  1. Overview and evaluation of hardware (e.g. raster versus vector methods) and software (e.g. language standards, Phigs).
  2. User interface issues.
  3. Algorithms: DDA, Bresenham, Cohen-Sutherland, Sutherland-Hodgeson, scanline, boundary-fill, flood-fill, backface removal, z-buffering, Gouraud shading, Phong shading, and others.
  4. Data structures: segmented files, quadtrees & octrees, bitmapped versus algorithmic methods.
  5. Modeling light intensity and light color.
  6. Two- and three-dimensional transformations.
  7. Hidden surface and hidden line techniques.
  8. Homogeneous coordinates and the projective plane.
  9. Object-oriented programming, attributes, hierarchy, constructive solid geometry.
  10. Evaluating graphical algorithms based on how much they take advantage of coherence properties of a scene.
  11. One other of a student's choice, exemplified by some of the following chosen in recent years: fractal methods, spline and Bezier curves or surfaces, ray-tracing, image enhancement, non-Roman character sets, or dithering.

 

Revised: February 2013 (course renumbering); July 2011 (revise catalog description)

Return to Course Index