|
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: |
- AaftabMunshi, Dan Ginsburg, Dave Schreiner, OpenGL ES 2.0 Programming Guide, Addison-Wesley, 2008
- Donald Hearn, Pauline Baker, Computer Graphics with OpenGL, 3rd edition. Prentice Hall, 2003
- 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:
- Use (with understanding) basic OpenGL modeling, projection, texture and lighting features.
- Map a simple 3D scene onto a 2D viewing plane mathematically.
- Evaluate alternative algorithms that might be used in a given graphics application, e.g., shading, curve drawing, polygon clipping, or shadow generation algorithms.
- Work in a team to analyze a computer graphics problem, design and program a solution, clearly document and present the solution to others.
|
|
Topics: |
- Overview and evaluation of hardware (e.g. raster versus vector methods) and software (e.g. language standards, Phigs).
- User interface issues.
- Algorithms: DDA, Bresenham, Cohen-Sutherland,
Sutherland-Hodgeson, scanline, boundary-fill, flood-fill, backface removal, z-buffering, Gouraud shading, Phong shading, and others.
- Data structures: segmented files, quadtrees & octrees, bitmapped versus algorithmic methods.
- Modeling light intensity and light color.
- Two- and three-dimensional transformations.
- Hidden surface and hidden line techniques.
- Homogeneous coordinates and the projective plane.
- Object-oriented programming, attributes, hierarchy, constructive solid geometry.
- Evaluating graphical algorithms based on how much they take advantage of coherence properties of a scene.
- 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)