CSCI 441 - Computer Graphics

Fall 2017

|     Home   |   Syllabus  |   Assignments  |   Leaderboard  |   Schedule  |   Resources    |

"GRANDPA RICK"

--------------------------------------------------------------------------------------------------
-----------------------------------------------[ A1 ]---------------------------------------------
--------------------------------------------------------------------------------------------------
This was our first assignment for computer graphics! I drew the sign at the top of the screen all with GL primitives, which required heavy use of glm matrix transformations and movements to make sure all objects line up properly.

I chose to take a heavily O.O. approach to the design of this sign program by implementing each letter as a separate function drawn about it's center. Then, I could combine each letter into words, such as "Grandpa" and "Rick", each as seperate objects that could also be easily transformed to my liking.

The logo was inspired by the council of ricks logo, shown below, and was done with a lot of basic shapes, namely circles, triangles, and elipses.



--------------------------------------------------------------------------------------------------
-----------------------------------------------[ A2 ]---------------------------------------------
--------------------------------------------------------------------------------------------------
This was the next assignment for computer graphics where we were supposed to create a 2D character using OpenGL primitives and transformations. The character is in constant animation with his "hover boots" pulsing beams as well as a windy effect on the hair and the labcoat.



Rick is able to move around the screen and interact with the mouse. When he hits the edge of the screen, Rick will move to different rides around the map. Rick's eyes follow the mouse around him, and when the mouse is clicked, his expression changes to a surprised state!


For reference, here is a picture of who my character is modeled after:



--------------------------------------------------------------------------------------------------
-----------------------------------------------[ A3 ]---------------------------------------------
--------------------------------------------------------------------------------------------------
This assignment implemented an arcball camera model that followed our character's vehicle around the screen as it moved!




--------------------------------------------------------------------------------------------------
-----------------------------------------------[ SQ1 ]--------------------------------------------
--------------------------------------------------------------------------------------------------
In this assignment I got to create a 2D game that implemented basic openGL primitives and movement as well as collision detection! The game implements a level engine that loads the levels from a file and loads entities based on the level attributes. The player shoots the enemies without being hit in each level to win the game! Can you get the highest score?




--------------------------------------------------------------------------------------------------
-----------------------------------------------[ A4 ]---------------------------------------------
--------------------------------------------------------------------------------------------------
This assignment implemented Bezier curves and animation of a mascot around the character!
I also decided to implement stars and different heights on the grid!





--------------------------------------------------------------------------------------------------
-----------------------------------------------[ RCT ]--------------------------------------------
--------------------------------------------------------------------------------------------------
This was our midterm project that implemented a Bezier surface with 3 characters. 1 of them was free to roam on the surface, to which the character was always aligned to the surface normal of the bezier patch. The other two followed a Bezier curve, where one followed the curves points by time and the other follows the curve by distance using arc length parameterization.




--------------------------------------------------------------------------------------------------
-----------------------------------------------[ A5 ]---------------------------------------------
--------------------------------------------------------------------------------------------------
This project was our first using openGL 3.0, where we are now writing our own GLSL vertex and fragment shaders to light objects in a scene. For this assignment, I implemented a skybox (cube with textured insides) using a ppm image loader and then sent that over to the GPU to texture the model by fragment on the fragment shader.

I also chose to implement a Blinn-Phong lighting model, where my diffuse, ambient, and specular components are computed per-fragment instead of per-vertex. I textured Suzanne the Blender monkey with a gold material and made it slightly shiny so that it reflects off the light better.