Syllabus   Blank Homework   Quizzes  
Notes   Labs   Scores   Blank

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 :

  1. Edward Angel, "Interactive Computer Graphics: A Top-Down Approach with OpenGL", 3rd Edition, Addison-Wesley, 2002
  2. J.D. Foley and A. Van Dam, "Fundamentals of Interactive Computer Graphics", 2nd Edition, Addison-Wesley
  3. Foley, vanDam, Feiner, and Hughes, "Computer Graphics: Principles and Practice", 2nd Edition, Addison-Wesley
  4. D. Hearn, and M.P. Baker, "Computer Graphics, C Version ", 2nd Edition, Prentice Hall, 1996
  5. 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
  6. Dave Shreiner, et al., OpenGL Programming Guide, Fourth Edition, Addison Wesley, 2004 ( ISBN 0-321-17348-1 )
  7. See Amazon for other OpenGL books.
Classess: Tue, Thu: 5:30 - 7:20 pm

Room: JB 358

Office : JB-346     phone : (909)-537-5334     email : tyu AT

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 ( hard-copy, single-spacing, 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 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 ):
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
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
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