CSCI 441 - Computer Graphics

Fall 2024

|     Home   |   Assignments  |   Leaderboard  |   Schedule  |   Resources    |

Paper


Assignments

A1

This assignment was to create a banner of our hero's name with a crest using OpenGL primitive objects. Most of the objects in my banner are created using GL_TRIANGLE_STRIPS, and I separated each letter into it's own function, so that it was easier to manipulate them later on. Each letter is created of of pre-defined rectangle objects in a separate function. I also created a function that created a box shape that I could re-use for the P and A letters, cutting down the amount of work that I had to do. After creating letter and the crest, I created functions that would allow me to change the colors of the rectangles being used, allowing me to change the colors of the letters and parts of the crest. The banner created is displayed at the top of the page.

A2



This assignment was to create an interactive and animated hero. My hero has an idle animation with its eyes, where the eyes oscillate from side to side. The hero can be moved with the WASD keys, and has its arms and legs animated while walking. When the hero is moved off the screen, it is "moved" to the next part of the map, where the background is changed and the hero is wrapped to the other side of the screen. The hero can also be interacted with the mouse button, which shoots a spinning shuriken.

A3



This assignment was to create an interactive and animated 3D hero/vehicle. My vehicle is a sort of car with a spoiler and nose, with large wheels that are animated when moving. The vehicle can be moved with the WASD keys. The vehicle is centered in the view of a arcball camera, which can be controlled with the left mouse button, changing the angle that you are looking at. If shift is held at the same time as dragging with the mouse, the camera will zoom in or out instead. This vehicle is drawn in an environment that consists of a plane and houses that have randomly generated height, in order to give some sense of direction to the user.

Labs

Lab 02



The task of this lab was to create 3d environment and a free cam that is able to fly through the environment. The camera can be controlled with the W and S keys, and buildings are randomly generated to produce an interesting environment.

Midterm Project





This was a group project, where the goal was to create a scene with our 3D heroes, and implement various camera perspectives and lighting sources. The user can switch between the different heroes to have the camera follow them, and also swtich between the different viewports, which can show the other perspectives of the current selected hero. This includes a third person camera, sky camera, and first person camera. The user can also move the heroes around, and the heroes will stay at the spot they are left at if switched off from. Three lighting sources are implemented into the scene, including a directional light, point light, and spotlight, with the directional light being white, point light being pink, and spotlight being yellow, so that there is differentiation between them.