CSE 40166 / 60166 - Computer Graphics

|    Home  |   Syllabus  |   Assignments  |   Schedule  |   Resources   |

Joe Fetsch

HW1:

This homework assignment was to write 6 letters to a background: the student's initials and the letters "CSE".




HW2:

This homework assignment was to create a creature or other object which exhibits constant animation and can be controlled by the mouse and keyboard.



XC1:

This extra credit assignment was to create a 2-D game using many of the same methods as the previous homework, so Jeremy Vercillo and I made Asteroids.




HW3:

This homework assignment required that we create some vehicle in a 3-D world that can be manipulated using the keyboard.
I built a simple helicopter that tilts when flying forward or backward, and the rotors on top spin as if keeping the object in the air.
The vehicle is controlled by 'wasd', where 'a' and 'd' change the heading of the helicopter.
Pressing number keys 1-4 alternate different camera views for the mini-screen. (1 is first-person, 2 is reverse, 3 is third-person camera, 4 is overhead map). Pressing '0' removes the mini-screen entirely.
Clicking and dragging using the left mouse button changes the persepective of the main view, and clicking and dragging with the right button changes the distance between the camera and the helicopter.



HW4:

This homework assignment required that we draw a Bezier Spline from a control points file.
We then animated a sphere to traverse the spline.
An arcball camera was created from a seperate file, and accessed through the main executable.
Clicking and dragging using the left mouse button changes the persepective of the main view, and clicking and dragging with the right button changes the distance between the camera and the spline.
Middle clicking opens a pop-up menu - one of the options is to exit the program.


Midterm:

This project is a roller coaster simulator.A pre-made roller coaster track (Bezier curves) is loaded, with trees, clouds, and rocks scattered as per the roller coaster file.
A cart follows the roller coaster around the track, maintaining a constant velocity. A free camera, arcball camera, toggled skycam, and toggled freecam can be seen, and the freecam and arcball cam can be controlled by the user with the mouse.
Sounds are triggered by certain features of the roller coaster track.
Middle clicking opens a pop-up menu - one of the options is to exit the program, and others switch between camera views.


HW 5:

This project is a particle system simulator - fountains and rainclouds are simulated as per the configure files specified. It is surrounded by a skybox, a good background for any occasion. Rainclouds are affected by wind, which originates from a point and expands outward in a cone, decreasing in strength as the distance from the source increases. The light source (non-ambient) originates between the raincloud and the rain, giving a nice effect where the rain stands out below the cloud, but there is ambient light to keep everything visible. All particles shrink over time, disappearing when their life is up. If a raindrop runs out of life before hitting the ground, it disappears without leaving a splash. The configure example below is absolutely essential to creating your own configure to run with this executable. All of the variables specified below are variable, allowing for quite a lot of configurability. Because the wind originates from a point, the cloud, when moved, may move to a location where the wind does not affect the rain.


HW 6:

This project is a 3-D game simulator - helicopters blindly chase a helicopter of a different color scheme that is controllable by the user using WASD and the space bar. While you can jump over enemy helicopters, terrain is impassable, and fantastically materialed. The world is surrounded by a skybox, a good background for any occasion. The terrain includes trees, bricks, and coins, the most important of all, which rotate slowly and must all be picked up in order to end the game and free the user-controlled helicopter from the pursuit of the less friendly ones. A constant reminder is in the top-left corner, stating the number of coins still needed. Right-clicking on the screen can change the view between three different cameras, defaulting to an arcball camera that focuses on the center of the grid. Because the objects are characters, a grid was drawn as the ground, rather than a level surface, giving the appearance of flight. However, if one flys off of the edge of the grid, one falls to his death, exploding in a shower of red kool-aid. If two enemy helicopters collide, one remains, with the new velocity that was an average of the two. If an enemy helicopter collides with the user, the user dies. Tragic.


HW 7:

This project is a small shader demonstration where the penguin in the middle transitions constantly between two sets of vertices specified by object files. The penguin is also affected with cel shading, which provides an almost cartoon-like appearance. The bright colors lend an air of unrealism to the scene, backed by a realistic view of an ice shelf that sets the mood just a small bit off. Pressing the letter 'r' sends the light around waddles the penguin, allowing the cel shading to move as well.


Final Project:

For our final project, Jeremy Vercillo and I made a space flight simulator. The user flies around a large open space and shoots enemy ships. There is also a radar which shows where ships are located relative to the user. The user can target enemies, change cameras, and control the ship.
If we had substantially more time, or significantly fewer other final projects, we both feel as if we could have delivered a much more polished game, rather than simply meeting the graphical requirements of the assignments.