Computer Graphics

CSC385 Winter 2010

Course website and syllabus: http://cs.union.edu/csc385/

Quick Links: Schedule | Projects | Blackboard


Instructor

Andrea Tartaro


General Information


Book

OpenGL Programming Guide Version 1.4. by Woo, Neider, Davis, Shreiner (available online)

or an earlier version is available here: http://www.glprogramming.com/red/


Assignments & Grades

In this class, we study the fundamental concepts and processes that drive 3D computer graphics. We begin with a study of digital images and digital image processing. Next we study rendering techniques; rendering is the process by which a 3D model is converted to a 2D image. We cover ray tracing and the graphics pipeline process. Finally we look at some methods for modeling 3D objects. You will implement various graphics algorithms through in-class lab exercises and three programming projects.

Class attendance and participation is a critical component of the course. Please discuss any necessary absences with me.

Handing in assignments: Assignments (projects and lab exercises) will be handed in as one .zip file on blackboard through the "Send File" option of the "Digital Drop Box" (on the "Control Panel"). The zip file should include your complete Visual Studio project directory for that assignment. If you work on your project on your personal computer, be sure to test that it runs in Visual Studio installed in Olin 102.

If lab exercises are not completed in class, they are due before class on Tuesday the following week.

Project Goal Grade Weight Due
Image Processing Project Familiarize yourself with C++ and create a simple image processing program. 25%
Th 1/28
Ray Tracing Project Implement a basic raytracer that reads a description of a 3D scene from a file and produces a rendered image of that scene. 25%
T 2/23
OpenGL Project Create an OpenGL application from scratch that implements a 3D robot that can be controlled by the user. 25%
W 3/17
Labs Get hands-on experience with different graphics concepts through in-class exercises. 15%
Tuesdays
Class Participation Come to class prepared to both ask and answer questions on new material as well as previously covered material. 10%
Each class


Policies, etc.

Basic Course Requirement

In order to pass the class you must earn a passing grade. In addition, however, you must meet the following basic requirement. Before the final exam time for the course, you must submit a solution to each of the course projects that earns at least 50% of the possible points (prior to removal of late points, see below). In other words, you cannot blow off an entire project and pass the class! Note that this basic requirement is necessary but not sufficient to pass the class.

Attendance

Class participation is a critical component of the course and attendance is mandatory. Please discuss any necessary absences (eg. athletics, religious holidays, emergency, illness) with me. You may be asked to make up for missed material. You will not receive credit for make-up material if you did not discuss your absence with me prior to class.

Late Assignments

Assignments turned in late will drop your grade for that assignment by 10% per day. For example, an assignment worth 100 points handed in after 1:30 on the due date, but before 1:30 the next day will have a max grade of 90 points.

Students with Disabilities

It is the policy of Union College to make reasonable accommodations for qualified individuals with disabilities. I encourage students wtih disabilities to make an appointment to meet with me as soon as possible to discuss accommodations that might help facilitate your learning. You will need appropriate documentation from the Student Support Office. All discussions will remain confidential.

Academic Integrity

Scholastic dishonesty is misrepresenting someone else's work as your own, which is a form of stealing, and will not be tolerated. You are responsible for reading and understanding Union's policies regarding Academic Conduct in the student handbook (http://www.union.edu/StudentLife/Handbook/) and Union's statement on plagarism (http://www.union.edu/Library/refroom/statement.htm).

Skeleton code is available for most of the assignments. Any additional code you submit must be designed and written by you unless you obtain prior approval from me. You may discuss algorithms relevant to given assignments with each other. Typically collaboration is acceptable for lab exercises, but students must complete and hand-in their own programming solution, and indicate who they worked with (eg. in the header comment of the code).


Schedule

Note: Subject to change. Be sure to check for updates at: http://cs.union.edu/~tartaroa/CSC385/

Date Topic

Helpful Readings

Labs Assignments due
T 1/5 Introduction Brookshear, ch 10 (available on blackboard)    
Th 1/7 C++ basics Java to C++ tutorial (available on blackboard)    
T 1/12

IP I: Simple pixel transformations, interpolation/extrapolation, compositing, convolution

Image Processing by Interpolation and Extrapolation    
Th 1/14 IP II: Dithering, warping Holtzman, Beyond Photography Lab 1: Project 1 Setup  
T 1/19 IP III: Morphing      
Th 1/21 3D Transfoms, homogenous coordinates, scene graphs Foley, van Dam, Feiner and Hughes, Chapter 5 - Geometrical Transformations (available on blackboard)    
T 1/26 RT I: Ray casting, intersection tests      
Th 1/28 RT II: Ray tracing scene graphs Marschner, Simple ray-triangle intersection (available on blackboard) Lab 2: Snowman Project 1 due
T 2/2 RT III: Lighting   Lab 3: Lighting  
Th 2/4 RT IV: Recursion, texture mapping     Project 2 checkpoint 1
T 2/9 RT V: Bells & whistles
     
Th 2/11 RT VI: Optimizations     Project 2 checkpoint 2
T 2/16 PIPE I: Overview of pipeline systems   Lab 4: OpenGL  
Th 2/18 PIPE II: Lights   Lab 5: OpenGL Lights  
T 2/23 PIPE III: Camera control   Lab 6: Camera Project 2 due
Th 2/25 PIPE IV: Tricks with buffers   Lab 7: Shadows  
T 3/2 Mapping   Lab 8: Textures  
Th 3/4 Non-photorealistic rendering     Project 3 checkpoint
T 3/9 Animation: The Uncanny Valley
Project 3 help session
 

links:
Final Fantasy Trailer
Shrek Trailer
Avatar Trailer

 
Th 3/11 Guest Lecture! Kristina Striegnitz on Games      
Wednesday,
March 17,
11:30-1:30
Each person will give a short demo of their Project 3. All projects must be handed-in by 11:30 and earn 50% of the points to pass the course.     Project 3 due

The structure and projects for this course are based on the Computer Graphics course developed by Z Sweedyk at Harvey Mudd College. Thank you, Z, for generously sharing your materials.