CS4620 Introduction to Computer Graphics
CS4621 Computer Graphics Practicum
Fall 2009

Announcements

Dec 14: Final exam solution posted.

Dec 7: CS4620 Fall 2008 final exam posted

Dec 4: Rendering contest entries

Nov 18: Homework #8 is out (due Mon Nov 30)

Nov 11: Homework #7 is out (due Wed Nov 18)

Oct 21: Homework #6 is out (due Wed Nov 4)

Oct 14: Homework #5 is out (due Wed Oct 21)

Oct 14: Progr. Assign Pipeline is out (due Nov6)

Sept 16:  Progr. Assign Model is out (due Oct9)

Sept 11:  Homework #3 is out

Sept 9: CSUGLab account access enabled. Please visit http://www.csuglab.cornell.edu/userinfo reset your password. Net-print, access to lab door and MSDNAA will be activated shortly.

Sept 8:  Prof. James added Mon 11am office hr

Sept 7:  Homework #2 is out

Sept 7:  Practicum room change (stay in Phillips Hall 101)

Sept 2:  Progr. Assign Ray 1 is out

Sept 31:  Homework #1 is out

Aug 26:  Welcome!
    First 4620 class is Fri Aug 28.
    First 4621 class is Wed Sep 2.

Assignments



PA4: Ray 2 (Due Wed Dec 2)

assignment handout (updated Nov11) | test scenes (v3) | obj2msh.jar

Setting up

Setup is exactly the same as for ray1. The comprehensive setup guide can be found here. Make sure you download the new test scenes, however.

In the Pipeline assignment, you probably found the Matrix4f class to be pretty useful. You'll want something similar to handle transformations for Ray 2. Here is an equivalent Matrix4 class suited to the ray.math package. Just drop it in the ray/math directory.

The test-scenes archive contains the XML test scenes (with two more for anti-aliasing), solution images (re-named so you don't have to worry about overwriting them), and a compare.html file to compare your renderings to the solution side-by-side. The solution renderings were done with a depth limit of 12 and an attenuation limit of 0.01. The slowest one was tableau.xml, which took almost 3 minutes. If you're doing glass, Test4-glass.xml took almost 6 minutes.

FAQ:

Starter code (based on a RayI solution) is available through CMS.

PA3: Pipeline (Due Fri Nov. 6)

assignment handout | framework code

Setting up & Running the framework

  1. Extract the framework ZIP file into a project root folder, so it's laid out as follows:
       <project root>
    data/
    dlls/
    jars/
    pipeline/
  2. Create the project in Eclipse: File -> New -> Java Project -> Choose "Create project from existing source" and set "Directory" to <project root>. Name it something, such as "pipeline".
  3. Right click on the project in the package explorer -> Build Path -> Configure Build Path… -> Java Build Path -> Libraries -> Add JARs… -> expand your project, expand "jars", highlight all three, and click OK.
  4. Make a Run configuration for MainFrame
  5. Under the Run... menu, go to the Arguments tab.
  6. In the VM Arguments pane, put the following:
       -Djava.library.path=./dlls/
    This tells java how to find the JOGL (Java OpenGL, pronounced "joggle") dlls it needs to run the program.

FAQ:



PA2: Modeler (Due Friday Oct. 9th)

assignment handout | framework code | user guide

Setting up & Running the framework

  1. Extract the framework ZIP file into a project root folder, so it's laid out as follows:
       <project root>
    dlls/
    jars/
    icons/
    modeler/
  2. Create the project in Eclipse: File -> New -> Java Project -> Choose "Create project from existing source" and set "Directory" to <project root>. Name it something, such as "PA2".
  3. Right click on the project in the package explorer -> Build Path -> Configure Build Path… -> Java Build Path -> Libraries -> Add JARs… -> expand your project, expand "jars", highlight all three, and click OK.
  4. Make a Run configuration for MainFrame
  5. Under the Run... menu, go to the Arguments tab.
  6. In the VM Arguments pane, put the following:
       -Djava.library.path=./dlls/
    This tells java how to find the JOGL (Java OpenGL, pronounced "joggle") dlls it needs to run the program.

FAQ:


PA1: Ray 1 (Due: Thursday Sept 17  Saturday Sept 19)

assignment handout | framework code (v.2) | sample input and images (v.2) | Eclipse guide

Note that the sample scenes are just to get you started, and they do not comprise an exaustive test of your program. You will want to devise more scenes of your own for debugging and to test additional cases.

FAQ: