Computer Graphics CS418 Final Project CS417/CS418 Fall 1998 Due Thursday, May 13, 1999 ########################### The CS418 Final Project ########################### Implement the following: + ray-tracing: both reflection and transmission, including refraction + spheres (this is basically already done!) + "interesting" polygon meshes: it suffices to do surfaces of revolution (e.g. MYSPHERE, TORUS, and SWEEP) + an "interesting" scene to render: this is up to you, but should include a number of spheres and polygon meshes and should show off your implementation. + optimizations for speed + perspective projection: Tview, view distance, view angle, resolution Bonuses: anything extra, e.g. bump mapping, texture mapping, interpolating normals, generating movies, fancier meshes, fancier objects, anti-aliasing, etc. Hints: + represent a polygon mesh much like the way Matlab does for its SURF command -- the "implicit" representation mentioned numerous times in lecture + use cells to store a list of imhomogenous data, e.g. to store arrays of different sizes. cells are like arrays/matrices, except that you use braces {} instead of parentheses (). NOTE: matlab will still let you use parentheses on cells, which usually will give you the wrong thing. + use global variables (see HELP GLOBAL in matlab) to avoid passing around lots of constant data. + fully/partially "fancy" item and light buffers should speed up testing for first hits and shadows. + bounding extents (e.g. spheres) will speed things up (including item bufers) What to hand in: + E-mail everything to pfb1@cornell.edu by midnight, Thursday, May 13. Send all files as attachments to a single message. + Include all your code and also a script that runs your code on your scene. ROUGHLY how you will be graded (primarily from just looking at output): + 10 pts poly reflection + 10 pts poly transmission + 10 pts spheres still work + 10 pts perspective + 10 pts speed + 10 pts rendered scene (output) + 10 pts script for running code to produce scene + 10 pts code doesn't annoy us