CS 381 PROJ1--Project Topic
20% of your course grade is for a semester project for the
course. This assignment is to describe basically what you want to
do for your semester project. It should be an HTML document, but
you can use any editor; in particular Word, Works, and OpenOffice can
save any document as HTML. It should be about a page long.
- Describe exactly what you're planning to accomplish. A screenshot
(which can be from a website or paper, as long as it's clearly
referenced) might a good way to do this. If the method is described
in a book or website, a citation is very appropriate.
- The purpose is mostly for us to negotiate on the scope of the
project, so for your own sake please be clear what you're building.
- The topic paper is worth approximately 30% of your project grade, so it should reflect some thought.
Due at midnight on Tuesday, October 31th. Turn in a little HTML web page as described above via blackboard. Be sure to include all supporting files, like images! As usual, just email assignments to me if blackboard freaks out.
Example Project Topics
- Do anything interesting with 3D models. For example, read in
a 3D model from a text file, squish the center of a 3D model by doing a
nonlinear calculation on its coordinates, etc.
- Do anything
interesting with textures. For example, make up a 3D texture for
some real surface, like tree bark. Write a nice interface to read
a 2D texture from a file. Blend 2D textures on the CPU or GPU to
create new textures.
- Render any refractive object on the graphics card. For
example, you could fake rippling water by pushing around the texture
coordinates, like
"gl_FragColor=texture2D(tex,vec2(sin(position.x)+texCoord.x,cos(position.y)+texCoord.y));".
- Render a forest. Either render individual leaves (and
prepare for poor performance), or use alpha-blended billboards.
At least think about how do make the alpha blending work with the Z
buffer.
- Implement any fractal rendering method, either on the CPU
(uploading a texture of the finished fractal) or on the GPU (rendering
the fractal in the fragment shader). I've already done the Mandelbrot Set in class (see wikipedia entry).
- Implement display-time Constructive Solid Geometry (CSG) on
the
graphics hardware using backface culling and the Z buffer. You
must display at least two models and (your choice) union, intersect, or
subtract them. This actually isn't as hard as it sounds;
especially union. (Google, Goldfeather's Algorithm Paper).
- Implement any flavor of quality shadows for a moving (possibly
hardcoded) object. We'll be looking at both shadow maps and
shadow volumes, so those would be good choices.
- Implement any type of cellular automata (e.g., Conway's Game of Life) on the graphics card using a
fragment shader.
- Implement
reaction-diffusion textures (of any type) on the graphics card.
- Implement
a walkthrough of a city model of reasonable size. Must include at
least textured ground and several multistory buildings.
- Implement any reasonably interesting or useful non-graphics
application on the
graphics card. For example, implement string processing (like uppercasing a string), fluid dynamics, wavelet
compression or decompression, Fourier transform, etc. on the graphics
card.
- Or pick your own!
Back to CS 381 Home
Back to CS Home
Back to UAF Home