Instructor : Dr. Tong Lai Yu, January, 2020
Objectives :
This course introduces the basic principles and techniques of Computer Graphics,
a field that enjoys tremendous growth and vitality. A student will learn to
design and write significant graphics applications.
Moreover, students will improve computational thinking skills, which can be used to solve
a wide range of problems in the real world.
Text :
F.S. Hill, Jr. and Stephen M. Kelley, "Computer Graphics Using OpenGL", Latest Edition,
Prentice Hall.
Suggested References :
 Edward Angel, "Interactive Computer Graphics: A TopDown Approach with OpenGL", 3rd Edition,
AddisonWesley, 2002
 J.D. Foley and A. Van Dam, "Fundamentals of Interactive Computer Graphics", 2nd Edition,
AddisonWesley
 Foley, vanDam, Feiner, and Hughes, "Computer Graphics: Principles and Practice", 2nd Edition,
AddisonWesley
 D. Hearn, and M.P. Baker, "Computer Graphics, C Version ", 2nd Edition, Prentice Hall, 1996
 Mason Woo, Jackie Neider, Tom Davis, Dave Shreiner, "OpenGL(R) Programming Guide:
The Official Guide to Learning OpenGL, Version 1.2", 3rd Edition, Addison Wesley, 1999
 Dave Shreiner, et al., OpenGL Programming Guide, Fourth Edition,
Addison Wesley, 2004 ( ISBN 0321173481 )
 See Amazon for other OpenGL books.
Classess: Tue, Thu: 5:30  7:20 pm
Room: JB 358
Office : JB346
phone : (909)5375334
email : tyu AT csusb.edu
Office Hours :
Tue & Thu 3:20 pm  4:50 pm, 7:20  7:50 pm
Grading :
Labs  16%, Homework  14%, Quizzes  25%,
Project  15%, Final Exam  30%
Grade Requirements :
91  100 % A, A 81  90 % B+, B, B
71  80 % C+, C, C
61  70 % D+, D, D <= 60 % F
Study Policy :
Students are expected to do the works as assigned.
They should attend all the lectures and study the text book.
Students should come to ask the instructor for help or suggestions if they encounter
any difficulties or doubts in their work.
Labs and homeworks should be submitted online in pdf file format before the due date and time. Also, discuss your disability problem and your doctor's recommendations
with the instructor, who will make special arrangements to alleviate any deficiencies.
Students may work in groups of two on their projects. A student is not allowed to
switch from one group to another unless his request has been approved
by the instructor.
Concerning the project, each group must decide on a topic by the
second week of the class and obtain approval from the instructor.
Each group has to turn in an abstract of about 200 words describing
its project by the fourth week.
By the 7th week, each group has to make a demo of the first
stage of its work.
A detailed report of about 5 pages
( hardcopy, singlespacing, including figures but excluding source code )
is due
in the 10th week. In addition, each group
must make a presentation, a complete demo and turn in the source code,
which is ready for compilation and checking in the computers of JB 358
in the 10th week.
A significant number of points will be taken off for any late
work.
Illness :
A student is responsible for contacting the lecture instructor as soon as possible for
providing a satisfactory explanation for missing a scheduled exam or work due to illness or
other serious and compelling reasons; documentation evidence is required.
Otherwise, missed exams or work will be counted as 0%.
Support for Student with Disabilities:
If you are in need of an accommodation for a disability in order to
participate in this class, please contact Services to Students
with Disabilities at UH183, (909)5375238.
Plagiarism and Cheating:
Students are expected to be familiar with the University's
Policy on cheating and Plagiarism. Instances of academic dishonesty
will not be tolerated. Cheating on exams or plagiarism
(presenting the work of another as your own, or the use of another
person's ideas without giving proper credit) will result in a failing
grade and sanctions by the University. For this class, all assignments
are to be completed by the individual student unless otherwise specified.

Outline of course ( subject to change ):

Topics 
1. Introduction
Computer graphics applications,
Introduction to OpenGL, lines, polygons

2. Line Drawing
Bresenham's Line and
Circle Algorithms
plotting functions,

3. Coordinate Systems
World coordinates, screen coordinates
World window, viewport
OpenGL drawing primitives

4. Normals and Polygonal Models
3D Vectors, normals
Vertex arrays
Tweening

5. Viewing
Transformations, clipping
Affine Transformations
Rotations, translations, reflectons,
scaling, shearing
Projections, homogeneous coordinates

6. Coloring and Lighting
RGB model, color model,
shading model
Phong Lighting model
Hidden surface removal

7. Blending, Antialiasing
Blending equations, antialiasing
Fog

8. Display lists
Principles of using display lists

9. Drawing pixels, bitmaps, fonts and images
Color tables, convolutions, color matrix

10. Texture Mapping
filtering, specifying texture

11. Curves and Surfaces
Representation of Curves and Surfaces

12. Others
Other related topics

