CS 432/637 - Interactive Computer Graphics
Description: This is a projects-oriented class that will introduce the
concepts of interactive computer graphics. Students will learn the
details of the OpenGL (OGL) graphics system by implementing weekly
Graduate students will also
be expected to read and summarize two research papers.
Topics covered by the programming assignments include
- GL Shading Language
- Graphics primitives (points, lines & polygons)
- Interaction and callback functions
- Buffer objects
- Viewing models
- Hidden surface removal
- Model transformations
- Hierarchical models
- Color and shading models
- Curves and surfaces
- Texture mapping
- Frame buffer operations
Prerequisites - CS 260 and (MATH 200 or MATH 201 or MATH 261 or ENGR 231)
Location - University Crossings 153
Time - Wednesday, 6:00 PM → 8:50 PM
Dr. David Breen
University Crossing 143
david AT cs.drexel.edu
Office Hours - Mondays, 3 PM → 5:30 PM
yo42 AT drexel.edu
Office Hours in the CLC - Wednesdays, 4 PM → 6:00 PM
- Interactive Computer Graphics, 6th Edition, Edward Angel and
Dave Shreiner, Addison-Wesley, 2012
OpenGL Programming Guide: The Official Guide to Learning OpenGL,
Versions 4.1, 8th Edition, Dave Shreiner et al.,
ISBN-10: 0321773039, ISBN-13: 978-0321773036
OpenGL Shading Language, 3rd Edition, Randi Rost, et al.,
Pearson Education, Inc., 2010
ISBN-10: 0321637631, ISBN-13: 978-0321637635
- Programming Assignments - 75%
- Research Paper Summaries - 10%
- Final Exam - 15%
- Programming Assignments - 85%
- Final Exam - 15%
Optional Extra Credit Final Project - 10%
Students may submit an optional final project. The scope of the project
should at least be similar to one of the weekly programming assignments.
If you plan on
doing a final project, you must submit a 1-page proposal/description
of the project by May 5th. An initial working version of the
code must be submitted by June 2nd. The final version
of the project (both code and a report (at least 2 pages long))
must be submitted by June 10th. The grading rubric for the extra
credit assignment is
- Project description - 15%
- Initial working version - 20%
- Final working version - 50%
- Final report - 15%
I intend to use the standard grading scale of 100 → 90 (A), 89 → 80 (B),
79 → 70 (C), 69 → 60 (D), else (F).
Please also note that incompletes will not be given for this course.
Starting with HW6, the late policy will be slightly changed.
1 point per day will be deducted from late assignments, for a
maximum of 6 points off. Each assignment is worth 10 points.
For HW5 and earlier the policy is, 1 point per day will be deducted
from late assignments. No credit will be given for an assignment
after 10 days.
Assignments due Thursdays at 11:59 PM
All programming assignments must use the shader-based functionality
Therefore you should not use any of the deprecated features
of the API, e.g. glBegin, glEnd, glVertex3f, etc.
Students must work on the assignments individually.
Each assignment consists of program source code, a makefile
that creates an executable
that runs on tux (i.e. under Ubuntu), and a README file that describes
the features of the assignment and how to run it. The README should
also describe what computer, OS and compiler you used to implement
The programming assignments must be submitted
on the class Bb Learn site.
Each program must print to the console what it does and
how to use its interface. 2 points will be subtracted from
the assignment's grade if this is not included.
Note: If the TA or instructor finds strong
evidence of cheating on assignments, the student(s) involved will receive an "F"
in the course, and a memo describing the cheating will be added to their record.
Note: Your source code for all programming assignments will be run through a
plagiarism detection system. This program uses compiler techniques, which are
invariant of syntax and style. If you are sharing/borrowing code with/from other
classmates (from this or previous years), you will get caught.
See the CS
Department's Academic Integrity Policy for more information.
For all assignments submit a zip file that contains your source files,
a makefile and a README file. The TA should be able to unzip the files,
make it, and run your program.
Research Paper Summaries
Every graduate student will read two research papers and
summarize the papers in a Powerpoint presentation file.
The file should contain at least 10 slides, including a title and
Be sure to include images that present the
You may read papers from other
sources, but the choice must be approved by Prof. Breen one week
before the deadline.
You will need to access these web sites through the
in order download papers for free.
Click on "ACM Digital Library".
Deadlines: May 6th and June 10th.
June 12 at 6:00 PM.
Short answer format.
Link to Recorded Lectures
Week 1 - 4/3/13
Week 2 - 4/10/13
Week 3 - 4/17/13
Week 4 - 4/24/13
Week 5 - 5/1/13
Week 6 - 5/8/13
- Curves and Surfaces
- Optional final project description due 5/5/13
- First graduate student research paper summary due 5/6/13
- Assignment 5 due 5/9/13
- Read Angel & Shreiner et al.: Chapter 10
- Lecture 11, 6 per page
- Programming Assignment 6
Week 7 - 5/15/13
Week 8 - 5/22/13
Week 9 - 5/29/13
Week 10 - 6/5/13
- Procedural Methods
- Initial version of final project due 6/2/13
- Assignment 9 due 6/7/13
- Final version of final project due 6/10/13
- Second graduate student research paper summary due 6/10/13
- Read Angel & Shreiner et al.: Chapter 9
- Lecture 15, 6 per page
Last modified June 5, 2013.