WPI Computer Science Department

Computer Science Department
------------------------------------------

CS 4731 Computer Graphics, D term 2014


Lectures: FL-320, MTThF, 9.00 - 9.50AM

Teaching Assistants: Visit Pataranutaporn (Student Assistant) Yun Lu (Teaching Assistant)

Instructor: Prof. Emmanuel Agu, FL-139, 508-831-5568, emmanuel@cs.wpi.edu
Office Hours: Fridays 4 - 5PM; Others by appointment

Required Text: Interactive Computer Graphics (6th edition) by Angel and Shreiner

Supplemental texts (Optional):

Facilities: You should do your assignments in C/C++ but may choose to develop your code on either Unix or Windows. Note that compiled graphics code tends to be large and may consume more than one megabyte of disk space. Very important: No matter what platform you write your code on, the final executable must run on the Windows machines in the WPI Zoolab with clear instructions in your documentation on how to run it. Your submitted code will be compiled, tested and graded on the machines in the zoolab. Make sure your code runs well on those machines before submitting it. Points will be deducted if you do not check that your code works on those machines.

Class Websites: The class website is at http://web.cs.wpi.edu/~emmanuel/courses/cs4731/D14/. A myWPI class website has also been set up. Please post your questions on the discussion board to avoid excessive emails and so that everyone can benefit from answers given. You may send email to me if you have questions on matters that concern only you.

Software Utilities: Your programs will be written in OpenGL. OpenGL, FreeGLUT and GLEW are all installed on the machines in the WPI Zoolab.

Grade Policy: 50% exams (2 exams), 50% assignments (4 projects)

Late Assignment Credit: Late programming assignments will be penalized 15 percent per day (per 24 hours). Assignments later than 4 days late will not be accepted.

Notes:

  1. Reading is mandatory, working ahead is encouraged.
  2. Exams shall be based on lectures, readings and a bit of project knowledge, so class attendance is strongly encouraged.
  3. Working and discussions in pairs is okay. However, each student must turn in different and unique projects.
  4. Cheating is strictly forbidden
  5. Cheating (a.k.a., academic dishonesty), defined as taking credit for work you did not do or knowledge you do not possess, is strictly forbidden. First offenders will receive a zero grade for the assignment or exam in question and an academic dishonesty report will be filed with the Office of Student Affairs. Repeat offenders will receive an F for the course and the case will be brought before the campus hearing board (see Student Handbook).
  6. All assignments should be submitted electronically. Hard copies or submissions on disks will not be accepted. Both your executable and source code must be turned in. Your documentation MUST include the structure of your project, what each file contains and instructions for compiling and running the program. Typically, a well-organized README ASCII text file is sufficient. Insufficient documentation will result in a loss of points. Data files should include a comment line at the start giving your name, the assignment for which it is intended, and the most recent date in which the file was changed. Please do NOT turn in hardcopies!! Your README file should be ASCII text, Microsoft Word or PDF.


Schedule (Tentative)

Week 1 (Mar 17) 
   Topics: overview, graphics intro, basic HW/SW, OpenGL/GLUT & GLSL intro 
    Homework 0  Not to be submitted

Week 2 (Mar 24) 
   Topics: GLSL shader introduction, 2D systems, window-to-viewport mapping, interaction & menus, fractals
    Homework 1  Due Thursday, March 27
 
Week 3 (Mar 31) 
   Topics: Linear Algebra for Graphics, Transformations, Rendering 3D Models
    Homework 2 Due Thursday, April 3 
 
Week 4 (Apr 7) 
   Topics: Transformations, Rotations and Matrix Concatenation, Viewing, Camera Controls
   Midterm Exam: Friday, April 11  in-class

Week 5 (Apr 14) 
   Topics: Projection, Orthographic Projection, Perspective Projection,  
    Homework 3 Due Thurday, April 17, 11.59PM
 
Week 6 (Apr 21)
   Topics: Lighting & shading, finding normals, Per-pixel lighting, BRDFs, Cook-Torrance BRDF
 
Week 7 (Apr 28)
   Topics: Hierachical modeling, Shadows, Texturing (including bump mapping), Hidden Surface Removal
    Homework 4 Due Tuesday, Apr 29, 11.59PM
   
Week 8 (May 5)
   Topics: Clipping, Rasterization (line drawing, polygon filling), antialiasing, Curves
   Final Exam: TBD, in-class


Class Slides

  • Lecture 1 [ Introduction to Graphics ]
  • Lecture 2 [ Introduction to OpenGL/GLUT (part 1)]
  • Lecture 3 [ Introduction to OpenGL/GLUT (part 2) ]
  • Lecture 4 [ 2D Graphics Systems (Tiling, Zooming & Aspect Ratio) ]
  • Lecture 5 [ Fractals ]
  • Lecture 6 [ Shader Setup and GLSL Introduction ]
  • Lecture 7 [ Building 3D Models ]
  • Lecture 8 [ Introduction to Transformations ]
  • Lecture 9 [ Implementing Transformations ]
  • Lecture 10 [ Rotations and Matrix Concatenation ]
  • Lecture 11 [ Hierarchical 3D Models ]
  • Lecture 12 [ Linear Algebra for Graphics: (Points, Scalars, Vectors) ]
  • Lecture 13 [ Viewing & Camera Control ]
  • Midterm Review slides [ Midterm Review ]
  • Lecture 14 [ Projection (PartI)
  • Lecture 15 [ Projection (Part 2): Derivation ]
  • Lecture 16 [ Lighting, Shading and Materials (Part 1) ]
  • Lecture 17 [ Lighting, Shading and Materials (Part 2) ]
  • Lecture 18 [ Texturing ]
  • Lecture 19 [ Environment Mapping (Reflections and Refractions) ]
  • Lecture 20 [ Shadows and Fog ]
  • Lecture 21 [ 2D Clipping ]
  • Lecture 22 [ 3D Clipping ]
  • Lecture 23 [ Viewport Transformation & Hidden Surface Removal ]
  • Lecture 24 [ Rasterization: Line Drawing ]
  • Lecture 25 [ Rasterization: Polygon filling and Antialiasing ]
  • Lecture 26 [ Curves, Image manipulation and Final Review ]


    Old Exams


    Schedule for office hours

    Note: All TA and SA office hours will be held in the zoolab

    Monday Tuesday Wednesday Thursday Friday
    9:00 - 9:50AM Class Class Class Class
    10:00 - 11AM
    11AM - 12PM
    12:00 - 1:00PM Yun
    1:00 - 2:00PM Yun
    2:00 - 3:00PM Yun Yun
    3:00 - 4:00PM Yun
    4:00 - 5:00PM Yun Visit
    5:00 - 6:00PM Yun Visit Visit Visit
    6:00 - 7:00PM Yun Visit Visit
    7:00 - 8:00PM Yun Visit Visit
    8:00 - 9:00PM Yun Visit


    Main Web Resources


    [Feedback] [Search Our Web] [Help & Index]

    [Return to the WPI Homepage] [Return to CS Homepage]

    mailto:webmaster@cs.wpi.edu