CSCI 441 - Computer Graphics

Fall 2020

|     Home   |   Assignments  |   Leaderboard  |   Schedule  |   Resources    |

Snail

A1


This is the first homework assigment for my 441 computer graphics class. I made the S using 2 rotated triangle fans. The crest is kind of lame, but if I was going to do anything advanced with it, I would have needed to invest more time than I was comfortable with. I like how the style of the letters came out though.

A2


The second homework assignment involves building an object with many different parts heirarchically and then moving them around. Then I had to give the object animation and interaction with the mouse and keyboard.

A3


The third homework assignment was similar to the second, but with added complexity and in 3D. It was necessary to compute the orientation and coordinates of the object and track them, as well as implement a 3 dimensional controllable camera.

A4


The fourth homework assignment added on to previous assignments. I took the A3 assignment and created a lighting shader that had lights from two different points instead of one single direction - specifically with two point sources of light that have different colors and locations and attenuation.

Midterm Project


The midterm project was heavy. With a group, we constructed a terrain base and our own individual 3D characters. Each hero had to move and be animated. For this project I implemented all the camera functionality; there needed to be three different camera implementations that were based on data from our characters. Then we implemented three different kinds of lighting for the scene, based on per-vertex calculations.

A5


The fifth homework assignment added on to previous assignments. It involved creating a cage of points and distorting geometry based on the cages' vertices.

A6


The sixth homework assignment was about creating a dynamic particle system based on an input control file. It creates and destroys particles throughout runtime. I created a shader that varies the particle's colors based on the time the particle has existed. The data is continuously sent to the GPU.

Final Project


The final project combined almost every concept we learned in class throughout the semester. My group did a lot of work to create dynamic lighting, custom shaders, a particle system, and a textured skybox to make a black hole with collision detection.