CS 432/637 - Interactive Computer Graphics
Spring 2015
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 - Korman 105D
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 - Thursdays, 2:30 PM → 5:00 PM
TA
Yusuf Osmanlioglu
yo42 AT drexel.edu
Office Hours in the CLC - Mondays and Tuesdays, 4:00 PM → 6:00 PM
See the CLC schedule for other
TAs who can help you with the assignments.
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
- NB: We will be using the 6th edition of this book, not the latest
7th edition!
- Recommended
-
OpenGL Programming Guide: The Official Guide to Learning OpenGL,
Versions 4.3, 8th Edition, Dave Shreiner et al.,
Addison-Wesley, 2013
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 - 70%
- Research Paper Summary - 5%
- Final project - 10%
- Final Exam - 15%
Undergraduate Section
- Programming Assignments - 85%
- Final Exam - 15%
Final Project - 10%
Graduate students should and undergraduate students may submit a
final project. The final project will be worth up to 10% of extra
credit for undergraduate students. The scope of the project
should at least be similar to one of the weekly programming assignments.
The project should focus on a topic not covered by the regular
assignments. If you are
doing a final project, you must submit a 1-page proposal/description
of the project by May 8th. An initial working version of the
code must be submitted by May 31st. The final version
of the project (both code and a report (at least 2 pages long))
must be submitted by June 8th. The grading rubric for the final
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
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 Summary
Every graduate student will read one research paper and
summarize the paper 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".
Deadline: May 11th
Final Exam
June 10 at 6:00 PM.
Short answer format.
Link to Recorded Lectures
Syllabus
Week 1 - 4/1/15
Week 2 - 4/8/15
Week 3 - 4/15/15
Week 4 - 4/22/15
Week 5 - 4/29/15
Week 6 - 5/6/15
Week 7 - 5/13/15
Week 8 - 5/20/15
Week 9 - 5/27/15
Week 10 - 6/3/15
- Procedural Methods
- Initial version of final project due 5/31/15
- Assignment 9 due 6/5/15
- Final version of final project due 6/8/15
- Extra credit assignment due 6/8/15
- Read Angel & Shreiner et al.: Chapter 9
- Lecture 15, 6 per page
Last modified June 3, 2015.