CSE 328 Back to CSE Courses

Course CSE328
Title Fundamentals of Computer Graphics
Credits 3
Course Coordinator Hong Qin
Current Catalog Description

An introduction to computer graphics including graphics application programming; data structures for graphics; representing and specifying color; fundamental hardware and software concepts for calligraphic and raster displays; two-dimensional, geometric transformations; introduction to three-dimensional graphics; graphics standards; and input devices, interaction handling, and user-computer interface.

Prerequisite

CSE 219 or CSE 260; CSE 220; permission of instructor

Course Goals
  • Present the fundamental hardware and software concepts of interactive computer graphics such as raster displays, color systems, processor architectures and displays.
  • Describe the mathematics of geometric transformations as applied to two and three-dimensional graphics.
  • Introduce students to graphics application programming through projects using standard graphics libraries.
Textbook
  • Computer Graphics with Open GL, 3rd Edition, Donald Hearn and M. Pauline Baker, Prentice Hall, 2003.
  • OpenGL Programming Guide, 3rd Edition: The Official Guide to Learning OpenGL, Version 1.2, Addison-Wesley, 1999.
  • OpenGL Reference Manual, 3rd Edition: The Official Reference Document to OpenGL, Version 1.2, Addison-Wesley, 1999.
Major Topics Covered in Course
  • Introduction and Motivation: Overview, definition; Graphics history; 2D and 3D graphics; Graphics programming; Graphics software and hardware systems; User-computer interface; Various application examples and areas.
  • Graphics System Hardware: Hardware, display devices, I/O peripherals; Vector and raster graphics system; Interaction techniques.
  • Fundamental Mathematics and Geometry: Basic mathematics relevant to graphics Coordinate systems; Points, lines, planes, and normals; Triangles and polygons; Geometric primitives; Curves, and surfaces; Solid and volumetric models; 2D and 3D geometric transformation; Parallel and perspective projection; Data structures.
  • Scene composition: Coordinate system; 2D and 3D geometric transformation; Object hierarchies; Viewing and clipping; Parallel and perspective projection; Object and image order rendering.
  • Rendering: Rendering pipeline; Scan-conversion: lines and polygons; Shading/lighting (illumination models); Human vision; Color perception and color models; Basic optics; Visibility.
  • Image-based techniques: Sampling; Filtering; Anti-aliasing; Image analysis and manipulation.
  • Others: Animation; Transparency and shadows; Texture mapping; Ray tracing, Radiosity; Image-based rendering and modeling; Advanced modeling techniques; Case studies; Software packages.
Laboratory Projects
  • Read the introduction and overview chapters of textbooks and reference books to get familiar with graphics basics and fundamentals. Research the introduction and overview chapters of OpenGL programming guide and reference manual in order to get familiar with the basics of OpenGL programming skills (2 weeks)
  • Lab1: The main goal of Lab1 is to learn several important two dimensional graphics techniques and apply them such as line drawing, scan-conversion and two-dimensional transformations to solve real-world problems in practice. Students are required to implement the drawing of a polygon boundaries as well as its interior and be able to handle standard two-dimensional transformations and manipulations (3 weeks)
  • Lab2: Lab focuses on applying three dimensional graphics techniques to display and manipulate geometric shapes in common use such as cube, tetrahedron, sphere, cylinder, cone, torus, etc. Students are required to implement the drawing of polyhedral objects and quadrics primitives. Students need to display wire frame objects, display flat-shaded solid objects, and allow users to interactively translate and zoom the displayed objects (3 weeks)
  • Lab3: Lab3 aims at real-world applications by using graphics techniques. Typically, students are required to work on projects such as flight simulation, physics-based animation, collision detection of multi-objects and their physics-based responses, 2D or 3D shape morphing, etc. (3 weeks)
Course Webpage /~cse328
Department of Computer Science • Stony Brook University, Stony Brook, NY 11794-4400 • 631-632-8470 or 631-632-8471