CMPS 371 Computer Graphics

Catalog Description

CMPS 371 Computer Graphics (5)

Introduction to computer graphics hardware, animation, two-dimensional
transformations, basic concepts of computer graphics, theory and
implementation. Use of graphics API(s) such as DirectX or OpenGL.
Developing 2D graphics applications software.
Prerequisites by Topic

Programming skill in a high level language and knowledge of data structures and algorithms.
Units and Contact Time

5 quarter units. 4 units lecture (200 minutes), 1 unit lab (150 minutes).
Note: most courses will have this breakdown, update as needed if your course does not.

Type

Required for CIS.Selective elective for CE|CS|EE.

Required Textbook

Fundamentals of Computer GraphicsPeter Shirley, Steve Marschner

3rd Edition (July 21, 2009)

ISBN-10: 1568814690

ISBN-13: 978-1568814698

Recommended Textbook and Other Supplemental Materials

OpenGL Programming Guide: The Official Guide to Learning OpenGL, Version 4.3.8th Edition

Available free online at: http://www.glprogramming.com/red/

Coordinator(s)

Dr. Arif Wani, Gordon Griesel
Student Learning Outcomes

This course covers the following ACM/IEEE Body of Knowledge student learning outcomes:CS-??: ...

ABET Outcome Coverage

The course maps to the following performance indicators for Computer Science (CAC/ABET) or Computer Engineering (EAC/ABET) or Electrical Engineering (EAC/ABET):

- (CAC PIa1, EAC PIa1): Apply and perform the correct mathematical analysis.
- Homework and exams will require knowledge of math formulas used in computer graphics, and translating basic math into program code.
- (CAC PIb1): Identify key components and algorithms necessary for a solution.
- Students will be required to learn the fundamental algorithms used in computer graphics.
- (CAC PIi1): Program in a suitable computer language.
- Use of C/C++ with X-Windows and OpenGL under Linux is required.
- (CAC PId3, EAC PId3): Research and gather information.
- Skills needed to accomplish the final project.
- (CAC PIj1): Understand performance and cost as these relate to software/firmware-based and hardware-based implementations.
- Choosing CPU vs GPU for solutions to graphical problems.

Lecture Topics and Rough Schedule

Week 1 | Graphics framework, line drawing |

Week 2 | Area filling, triangles, polygons |

Week 3 | Animation, curves |

Week 4 | Ray casting, vectors, intersections |

Week 5 | Ray tracing, perspective, lighting |

Week 6 | Image systhesis, photo realism |

Week 7 | OpenGL, matrix transformations |

Week 8 | Models |

Week 9 | Images, textures, blending |

Week 10 | Final projects, special topics |

Design Content Description

Not applicable to this course.
Prepared By

Gordon Griesel on June, 2014
Approval

Approved by CEE/CS Department on [date] Effective [date]