Instructor : Dr. Tong Lai Yu, January, 2020
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.
F.S. Hill, Jr. and Stephen M. Kelley, "Computer Graphics Using OpenGL", Latest Edition,
Suggested References :
Classess: Tue, Thu: 5:30 - 7:20 pm
- Edward Angel, "Interactive Computer Graphics: A Top-Down Approach with OpenGL", 3rd Edition,
- J.D. Foley and A. Van Dam, "Fundamentals of Interactive Computer Graphics", 2nd Edition,
- Foley, vanDam, Feiner, and Hughes, "Computer Graphics: Principles and Practice", 2nd Edition,
- 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 0-321-17348-1 )
- See Amazon for other OpenGL books.
Room: JB 358
Office : JB-346
phone : (909)-537-5334
email : tyu AT csusb.edu
Office Hours :
Tue & Thu 3:20 pm - 4:50 pm, 7:20 - 7:50 pm
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
( hard-copy, single-spacing, including figures but excluding source code )
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
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 UH-183, (909)537-5238.
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 ):
Computer graphics applications,
Introduction to OpenGL, lines, polygons
2. Line Drawing
Bresenham's Line and
3. Coordinate Systems
World coordinates, screen coordinates
World window, viewport
OpenGL drawing primitives
4. Normals and Polygonal Models
3D Vectors, normals
Rotations, translations, reflectons,
Projections, homogeneous coordinates
6. Coloring and Lighting
RGB model, color model,
Phong Lighting model
Hidden surface removal
7. Blending, Antialiasing
Blending equations, antialiasing
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
Other related topics