Fall 2004, 22C:151 -- Computer Graphics
Download the Syllabus [as a PDF file]
Check Your Grades [via your random ID number]
Download the Final Exam Review Sheet [as a PDF file]
Look at the Final Exam Key [as a PDF file] (only available temporarily)
Classes: TTh 9:30-10:45 am, 110 MacLean Hall
| |
Professor: Chris Wyman
E-mail: cwyman@cs.uiowa.edu (Preferred contact method)
Office: 101J MacLean Hall
Phone: (319) 353-2549 (Please use e-mail when possible)
Office Hours: T 10:45 am - 12:15 pm,
Office Hours: Th 1:00 pm - 2:30 pm,
Office Hours: or by appointment
|
Teaching Assistant: Scott Davis
E-mail: scodavis@cs.uiowa.edu
Office: B20J MacLean Hall
Office Hours: MW 11:30 am - 12:30 pm,
Office Hours: or by appointment
|
Useful Information & Frequently Asked Questions:
Announcements (as of 11/11/04)
- (12/8/04) -- Homework 10 scores have been posted. An approximate
cumulative percentage thus far has also been posted, to let you see the grades I will use to make letter grade decisions.
These cumulative percentages are weighted by the correct values outlined in the syllabus (15% midterm,
5% updating your webpage, 65% homeworks). Obviously, since the final and homework 11 are not included, the cumulative
percentages max out at less than 100%.
- (12/6/04) -- The review sheet for the final has been posted.
- (12/1/04) -- Two typos in Homework 11, both have been fixed now:
- The first example image on the HW sheet is for value 20, not value 50!
- If you downloaded a copy of the Linux source/executables before today, there is
a typo in the readme! The environmental variable you want to set is LD_LIBRARY_PATH, not
LD_LIBRARAY_PATH. It was correct everywhere except in the "setenv" command needed to set
it up, so if you copied the command line, it would not work!
- (11/11/04) -- As I mentioned in class today, my notes
did indeed contain a mistake in regards to computing the refracted direction. The notes have been fixed.
- cos( theta_t ) = sqrt( 1 - f2( 1 - cos2 ) )
- where f = ni/nt, NOT nt/ni
- Similarly, T = f * ( V + cos(theta_i)*N ) - cos(theta_t)*N.
- (10/29/04) -- NOTE: I don't think I was clear enough on this in class. To get the
current light position, you can use glGetLight( GL_LIGHT, GL_POSITION, myLightPos );, but this
returns the position in eye space, not world space! When you compute your projective
shadow matrix, you need use the world space eye coordinates and a world space equation for your plane!
- After calling glLightfv(), the world space coordinate for the light would then be
myLightPos + currentEyePos.
- Older Announcements
Assignments:
Here are instructions on how to submit your assignments.
Below each assignment are links to resources you may find useful for the homework.
- Homework 11 (Due Thursday, Dec 9)
- Note: Make sure to update your webpage with images from this assignment!
- Download the "shader_template" program:
- Information about vertex shaders (original detailed spec available
here)
- Information about fragment shaders (original detailed spec available
here)
-
- Another example vertex shader
- (more information and samples soon)
- Homework 10 (Due Tuesday, Nov 30)
- Homework 9 (Due Thursday, Nov. 11)
- To accommodate students with exams this week, the late policy will be temporarily changed (for this assignment ONLY)
to:
- Before Wednesday at midnight: (on time) (Max score: 30 pts)
- Before Thursday at midnight: -5% (Max score: 29 pts)
- Before Friday at midnight: -10% (Max score: 27 pts)
- Before Saturday at midnight: -20% (Max score: 24 pts)
- Before Sunday at midnight: -40% (Max score: 18 pts)
- After Sunday at midnight: -100% (Max score: 0 pts)
- Make sure you turn in a 512 x 512 image for the following scene (and describe how to get
your program to regenerate it in the README file)
- Eye at: (0,5,5), Looking at: (0,0,0), with Up Vector: (0,1,0).
- Field of view in the Y-axis should be 60 degrees.
- Red (1,0,0) sphere centered at (0,1,0) with radius 1
- Green (0,1,0) sphere centered at (3,1,-3) with radius 3
- Yellow (1,1,0) sphere centered at (-2,-3,2) with radius 2
- Blue (0,0,1) plane with normal (0,1,0) running through point (0,-2,0)
- Yellow (1,1,0) plane with normal (0,0,1) running through point (0,0,-7)
- Light at: (-5,5,2) with color (1, 0.6, 1)
- Here's an example result at 400 x 400.
- Note: Make sure to update your webpage with images from this assignment!
- Code to read/write PPM files as either a [tar/gz]
or as a [zip].
- Here are some C++ classes you can use or look at:
- Older homework assignments and related files are available
here.
For those of you interested in playing with some vertex and fragment shaders before we get to
them later in the semester, I have a simple example you can look at
here. You can also try to compile that program to
get your non-lab machine set up for later assignments.
Handouts/Slides:
Here I will post some of the handouts and slides from class:
Student Web Pages:
Hint: For help setting up a web page see
this page.
Note: If you do not want your page listed here, e-mail me!
- Allen, Jessica
- Bhatarakamol, Naruedon
- Cardona, Juan
- Close, Corey
- Cooney, Chad
- Dusek,
Jason
- Greene, Ryan
- Guy, Brett
- Hantzeas, Menny
- Holmes, Brandon
- Johnson, Chad
- Kanakares, Andy
- Kavanagh, Scott
- LaVoie, Chris
- Lewis, Chris
- McPeak, Justin
- Mo, Qi
- Monner, Derek
- Nichols, Greg
- Pan, Yan
- Pandurovic,
Vladimir
- Park, Justin
- Pitzen, Chris
- Rudolph, Rudy
- Sun, Daniel
- Thiede, Tristan
- Weldon, Chad
- Wong, Charlie
- Xu, Neil
- Zhao, Fei
Helpful Links:
OpenGL Links:
Links to Useful Programs:
- XV -- a simple, useful image manipulation tool that reads PPM files.
- GIMP -- a more feature complete (bigger) image manipulation tool that reads PPMs.
- Cygwin -- run all your favorite UNIX programs on Windows (including X, gcc, emacs,
etc.)
Doccumentation:
Interesting Graphics Links:
- SIGGRAPH -- The ACM's special interest group on graphics.
University Policy Links:
Last Modified: Friday, September 3, 2004
Chris Wyman (cwyman@cs.uiowa.edu)