Overview
Welcome to my ever expanding list of computer graphics and game development projects!
A project that I worked on for the final of our Networked and Social Systems Engineering course about Markets and Social Systems on the Internet, NETS 1500, my friend and I created a web application that takes in the Song and Artist for any song on Spotify, and then uses the Spotify API to extract certain pieces of information from the song or artist. This information is then processed through a WebGL shader that I wrote, which gives the album cover a unique effect depending on its processed values. While my friend mostly worked on front end Javascript for the website itself, I worked on the WebGL shaders.
The values that I use in the shader obtained from the Spotify API are speechiness (measuring how wordy a song is), danceability (how groovy a song is), and valence (how happy a song makes one). As all three of these values are floating points, I use them within the shader as parametres to pass in to control different effects that can be generated by each shader that I made.
This project was the final project for my Introduction to Computer Graphics course, CIS 4600. I worked on this project with two other classmates, where I was responsible for mainly generating and texturing the terrain. To create the terrain, we used chunks of 16x16 blocks that each had a different type associated with them, and generated different biomes according to a Perlin noise map. There were four biomes in total for the last version of the product, two of which I created and textured myself. I plan to continuously add onto this project, so there will be more updates as I progress on more features.
Some photos that I took of the terrain while Minecraft was still a work in progress.
This is yet another project from my Introduction to Computer Graphics course in which we coded around 10 shaders in OpenGL. The shader exhibited in this image is a variation of a post process Worley noise shader in which I multiplied my input UVs by the Worley noise value. I made other variations of Worley noise shaders as well as blur, sobel, and bloom filter shaders. All in all, I thought that experimenting with the values and seeing the effects for this project were quite fun.
This was one of the fun assignments of my Introduction to Computer Graphics class, where we coded a very basic moving sprite as part of a scene graph. We were given creative liberty with the assignment, but we had to demonstrate our understanding of scene graph concepts and basic transformation matrices by creating a creature that had at least two rotatable joints. All in all, a very fun and simple project!
This is yet another project from Introduction to Computer Graphics. The assignment was to simply code a rasterizer.
Below, one can witness a series of work in progress wahoo meshes that have been put through the rasterizer code.
Worry not. The rasterizer works.