CSE 40166 / 60166 - Computer Graphics

|    Home  |   Syllabus  |   Assignments  |   Schedule  |   Resources   |

Jeremy Vercillo

Welcome to my course webpage. Here I will be posting screenshots and descriptions of the projects I do this semester.
hw1 - Initials

For this assignment, I drew my initials and CSE to the screen using basic GL functions. I set the drawing mode to GL_QUADS and labled vertices for each letter. Each letter is drawn in its own method. The display function scales, translates, and rotates before drawing each letter in order to draw them in the correct position. I also added animation to my program. The timer function is called 60 times per second and triggers a display update. Each time the display updates, the angle counter changes slightly so the letters rotate.


I drew my initials to the screen and made them rotate.



hw2 - Creature

For this assignment, I drew and animated Pikachu. While not interacting with the user, Pikachu wags its tail and waves its arms. The user can interact with Pikachu in three ways. By using 'A' and 'D' on the keyboard, Pikachu will walk from side to side, but not leave the screen. By rubbing the mouse on his belly, he generates electricity from his cheeks. Once you stop rubbing though, the electricity quickly dissipates. Finally, by clicking you can throw a pokeball at Pikachu. He will sidestep the ball and frown at you (and he won't get captured even if you manage to hit him).


Pikachu standing idle.


Pikachu generating sparks.


Pikachu dodging a pokeball.



xc1 - 2D Game

For my extra credit game, I wrote a modified version of Asteroids with Joe Fetsch. The asteroids are randomly generated. The user can control the ship's velocity (not position) with WASD and fire by pressing the mouse The ship always rotates to face the cursor. When the laser runs out of power, it needs to recharge over 500 (half power) before firing again. The user wins by destroying all the asteroids on the screen. The user loses by losing all their lives.


The ship firing its laser.



hw3 - 3D Vehicle

For this project, I created and animated a 3D helicopter. The user controls the helicopter with WASD and makes it climb with the spacebar. The user also controls the arcball camera with the mouse. Moving the mouse rotates it and left/right clicking zooms in/out. There is a second viewport which can have one of four camera views. 1 is a first-person view from the cockpit, 2 is a top-down view, 3 is a 3rd-person view from behind the helicopter, and 4 is a ground-to-air view from the origin.


A view of the helicopter with a secondary first-person view.



hw4 - Bezier Curves

For this project, I loaded the control points for bezier curves from a file. Then I plotted each of these points and the corresponding curves. I also animated a sphere along the curves. The user has control of an arcball camera to view the curves from any angle.


Bezier Curves!



Midterm Project - Roller Coaster

For this project, I wrote a Roller Coaster simulator with Joe Fetsch and David Lopes. We loaded a pre-made Roller Coaster file containing Bezier Curves (for the track), trees, clouds, and rocks. There are four cameras which can be switched between: an arcaball cam controlled by the user, a free camera controlled by the user, a first-person cam on the front of the cart, and a skycam looking down on the track. Certain features of the coaster such as tight curves or big drops trigger sound files.




Wheeeeeee!



hw5 - Particle Systems

For this project I loaded two different types of particle systems from control files into a scene. The user could view the scene through an arcball camera. The first system was a fountain which shot particles upwards from a point and acted under gravity. The second system was a raincloud which spawned particles in an area and reacted to gravity and wind.


The fountain system.

The raincloud system.



hw6 - Collision Game

For this project I created a simple game that used collision detection and particle systems. The goal of the game is for the user (Luigi) to collect all the stars while avoiding the ghosts. The ghosts are attacted to the user and if they touch him the game his over. The user also dies if he falls off the edge. The user cannot go through walls and the ghosts cannot go through each other.


The game (Wall locations not finalized).



hw7 - Shaders

For this project I created a simple shader program to help animate my penguin model. The shader interpolates between two poses to animate the model and then converts the texture color to sepia tone (greyscale plus a bit of yellow). All the user can do in this program is move and zoom the arcball camera.


Waddles the yellow penguin.



Final Project - Space Shooter

Our program is a 3D space shooter. 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.


Engaging enemies!

An enemy being targeted.

An enemy exploding.