CS 432/637 - Interactive Computer Graphics
Spring 2013
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
programming assignments.
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
- Picking
- 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
Instructor
Dr. David Breen
University Crossing 143
david AT cs.drexel.edu
215-895-1626
Office Hours - Mondays, 3 PM → 5:30 PM
TA
Yusuf Osmanlioglu
yo42 AT drexel.edu
Office Hours in the CLC - Wednesdays, 4 PM → 6:00 PM
Textbooks
- Required
- Interactive Computer Graphics, 6th Edition, Edward Angel and
Dave Shreiner, Addison-Wesley, 2012
ISBN-13: 978-0-13-254523-5;
ISBN-10: 0-13-254523-3
- Recommended
-
OpenGL Programming Guide: The Official Guide to Learning OpenGL,
Versions 4.1, 8th Edition, Dave Shreiner et al.,
Addison-Wesley, 2012
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
Grading
Graduate Section
- Programming Assignments - 75%
- Research Paper Summaries - 10%
- Final Exam - 15%
Undergraduate Section
- 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.
Late Policy
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
Assignments due Thursdays at 11:59 PM
All programming assignments must use the shader-based functionality
of OpenGL.
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
your program.
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
conclusions slides.
Be sure to include images that present the
paper's results.
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
Drexel Library
home page
in order download papers for free.
Click on "ACM Digital Library".
Deadlines: May 6th and June 10th.
Final Exam
June 12 at 6:00 PM.
Short answer format.
Link to Recorded Lectures
Syllabus
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.