Syllabus   Blank Homework   Quizzes  
Notes   Labs   Scores   Blank

Instructor : Dr. Tong Lai Yu, January, 2019

Objectives : This course covers the advanced principles and techniques of Computer Graphics. The course stresses on hands-on experience and programming as well as applications in the industry.

Text : F.S. Hill, Jr. and Stephen M. Kelley, "Computer Graphics Using OpenGL", Latest Edition, Prentice Hall.

Suggested References :

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

Room: JB 359

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

Office Hours :

    Mon: 11 am - 12 pm, 3 - 4 pm,  Wed: 3 - 4 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 359 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 :

Topics to be covered:
1. Introduction
    Review of OpenGL
2. OpenGL Shading Language ( GLSL )
    Programmable Pipelines
    Overview of GLSL
    OpenGL Shaders Execution Model
    Vertex Shaders
    Fragment Shaders
3. GLSL Programs
    Temperature Shaders,Brick Shaders
    Particle systems
4. Curves and Surfaces
    Representation of Curves and Surfaces,
    Splines and Bezier Curves

5. Modeling Shapes with Polygon Mesh
    Mesh Representations
    Revolution of Surfaces
    3ds File Format
6. Parsing External Files
    Collada, libxml2
7. Casting Shadows
    Stencil Buffer
    Shadow Volume
8. Texture Mapping
    Mapping Methods: Texture mapping,
    Bump mapping, Environment mapping
    UV Mapping
9. Tools for Raster Display
    Manipulating Pixmaps, Pixmap Operations,
    Reading and Saving Images
10. Graphics of Android
    Android OS, OpenGL ES 1.0, ES 2.0