Overview
These projects were created for class projects. Those classes include: Programming Interactive Computer Graphics and Games, and Animation and Planning in Games. They were created using various tools and languages including: C++ libraries such as OpenGL, GLM, and Box2D; and Processing 3.
TExt Rain
This project re-creates the interactive art installation, Text Rain by Romy Achituv and Camille Utterback. Images taken from a live camera feed or a pre-recorded video are analyzed based on brightness with an adjustable threshold to determine where an object is located. Letters rain from the top of the screen and interact with the objects in the video. This project was created in a Java-based program called Processing 3.
Car Soccer
This project involved drawing some basic shapes to create a soccer arena with a small 'car' and a ball. These were then used to create a simple version of the game Rocket League by implementing some basic physics elements and collision detection. This was done using the OpenGL libraries in C++.
Campbells Soup
This project was a simple demonstration of mapping a texture onto a 3D object. The intent was to properly arrange the vertices of the objects and assign the correct normals for lighting and the correct texture coordinates to create a 3D Campbells Soup can. This was done using OpenGL in C++.
Earthquake Visualization
This project utilized data from NASA and the USGS to visualize earthquakes on earth. As time in the simulation progresses, spheres with colors and sizes corresponding to earthquake magnitude are drawn in the proper location they occur on the earth. The map can transition smoothly from a flat image to a sphere. This was created using OpenGL libraries in C++.
Randomized Fractals
This was a personal project inspired by a video called Chaos Game by Numberphile on YouTube. The premise is to start by choosing three points in space, and one additional starting point. Then draw a new point halfway toward one of the three points chosen at random. When this process is repeated the dots begin to form a Sierpinski Triangle fractal. This shows this concept translated into a 3D pyramid shape. This was done using OpenGL in C++.
Walk the spline
This project used motion capture data from the CMU Motion Capture Database. Hierarchical Transformations were utilized to properly articulate each piece of the skeleton created. The skeleton then walks along a spline generated from a series of points and derivatives using Cubic Hermite Interpolation. This was done using OpenGL in C++.
Shaders
This project explored different shader methods, primarily the Blinn-Phong lighting model which incorporates ambient, diffuse, and specular lighting components. Additionally, edges of the object are found and highlighted to create a real-time cell shaded effect. This was done using OpenGL and GLM in C++.
Box Game
This project created a simple physics based game in which boxes and circles could be spawned and they would interact with each other as well as lines drawn on screen. The shapes could also be picked up and dragged around the screen using the mouse. This was created using the Box2D libraries in C++.
Particle Simulations
|
|
This project involved creating a simple particle simulator to replicate real-world systems like a bouncing ball, a water fountain, a fire, and some fireworks. This was created using using Processing 3.
Fabric simulations
|
|
This project involved simulating a simple fabric using a mass-spring system that interacts with obstacles as well as wind. This project was programmed using Processing 3.