Cs 4406 Computer Graphics
CIU Request Information
Course Outline
CS 4406: Computer Graphics
Prerequisites |
CS 1103 Programming 2 |
Course Description:
Computer graphics is used in diverse applications from the visualization of complex scientific data to the special effects in movies and the animated characters in computer games. The objective of this course is to introduce the programming principles of computer graphics. The course will provide practical application of concepts through assignments developed in Web GL. The course will also introduce examples in OpenGL. Students will have a broad knowledge of computer graphics and how to implement computer graphics using an API such as OpenGL and WebGL. Course topics will include:
- Fundamentals
- Geometric transformations, Matrices and vectors.
- The scene graph
- Introduction to Modeling
- Introduction to Rendering
- Shading, Color, anti-aliasing, texture mapping
Required Textbook and Materials:
The main required textbooks for this course are listed below, and can be readily accessed using the provided links. There may be additional required/recommended readings, supplemental materials, or other resources and websites necessary for lessons; these will be provided for you in the course’s General Information and Forums area, and throughout the term via the weekly course Unit areas and the Learning Guides.
Computer Graphics: Programming, Problem Solving, and Visual Communication by Steve Cunningham, California State University Stanislaus. Copyright (2003) All rights reserved. Permission to use this text in both printed and electronic form is granted by the Author.
Software Requirements/Installation:
Although much of the text will be using the OpenGL API for examples and assignments, this course will provide a series of comparable examples and Assignments that use the WebGL API. There are two reasons for this. First WebGL is an API that is based upon the OpenGL ES 2.0 API which is essentially a subset of OpenGL. As such all of the functionality required for assignments throughout the text is implemented in the OpenGL ES 2.0 specification. Second it has been decided to leverage WebGL because of the ease of setting up a development environment. Most texts on Graphics programming take advantage of C or C++ as a programming language and as the curriculum at the Clifton International University is more focused on Python, Java, and JavaScript we have opted to continue to build on these skills by implementing all assignments and examples using JavaScript executed in a HTML5 environment. This both builds upon knowledge that you have already been exposed to and provides us with the ability to use browser based, online development tools and environments.
Learning Objectives and Outcomes:
By the end of this course students will be able to:
1. Understand basic concepts of computer graphics including such concepts as:
2. Develop an understanding of computer graphics techniques focusing on:
3. Develop graphic models and implement them to present graphics scenes
Course Schedule and Topics:
This course will cover the following topics in eight learning sessions, with one Unit per week. The Final Exam will take place during Week/Unit 9.
Week 1: Unit 1 – Introduction to Graphics
Week 2: Unit 2 – Principles of Graphics Modeling
Week 3: Unit 3 – Color and Blending
Week 4: Unit 4 – Lighting, Shading and Texture Mapping
Week 5: Unit 5 – The Rendering Pipeline and Event Handling
Week 6: Unit 6 – Dynamics and Animation
Week 7: Unit 7 – Interpolation and Spline Modeling
Week 8: Unit 8 – Per-Pixel Operations
Week 9: Unit 9 – Final Exam