CSCI 441 - Computer Graphics

Fall 2022

|     Home   |   Assignments  |   Leaderboard  |   Schedule  |   Resources    |

Lammy

Lab00

This was my first experience with openGL. In this first lab, we first learned how to draw objects with triangles, which are represented with lists of vertices and colors. The first part had us draw the triforce from Legend of Zelda a few times, and the second part of the lab hadd us draw our home town with triangles.


A1

This first assignment had us get some extra practice with openGL primitives. We were tasked with spelling our hero's name with triangles, along with a crest that represents our home.


Lab01

This lab introduced me to animation, along with input callbacks. This lab takes input from the escape key which closes the window, the c key which toggles the color of the triforce between red and gold, the left mouse button which on press makes the triforce red and makes the triforce gold on release, and the cursor which makes the triforce follow the cursor. Along with these inputs the triforce rotates constantly.



Lab02

In this lab, I implemented my first free cam and 3D environment. The lab draws a city using a common building model and then assigns a random height. We then can control the free cam by using w/s to move forward and backwards, and then pan around using the mouse.



A2

This assignment gave me further practice with translating, scaling, rotating, and general animation. We first draw our hero to the screen, where we can move him using wasd keys, rotate his arms using the cursor, and shoot a laser from his arm by pressing space + mouse click. When the character goes off screen, he loops to the opposite side and a new backlground appears.


SQ1

This assignment had me make a 2D game, using basic animation and callbacks. I decided to make a Galaga esc. game where you can move side to side, shoot, pause the game, and exit the game. The goal is to destroy as many enemies as you can with the lives you have.


Lab03

In this lab, I worked with VAOs, VBOs, and IBOs in order to draw the HellKnight character from Doom.


Lab04

In this lab, I got my first experience with coding shaders in glsl. I used this to shade a ball and a little character.


Lab05

In this lab, I revisited the flight simulator and applied some shading to it.


A3

For this assignment, I created a motorcycle that you can drive around which is viewable with an arcball camera. I also added the shaders from lab05 to the assignment.


MP - The Fellowship

For this midterm project, I worked with two other students to build upon A3. We implemented each of our models, an arcball, free, and first person camera, and phong illumination + gourad shading programs.


Lab06

For this lab, we appied textures to several objects using shaders.


Lab08

For this lab we used bezier curves to animate a ball around curves given control points.


Lab09

For this lab, we use bezier curves to create bezier patches to make varying height terrain. We also got exposed to tesselation shaders.


A4

For this assignment, I expanded on my A3 by using bezier curves to have my partner's model to circle my model and implementing a skybox.


Lab11

In this lab, we implemented simple hit detection using marbles.


A5

For this assignment, I made a survival shooter game, where your goal is to survive as long as possible and fend off enemies. The enemies continuously tracks you and if they touch you, you die.


Lab12

For this lab, I got to implement billboarding inside of a geometry shader along with correctly rendering transparent objects in order to make some nice snowflakes.


FP

For our final project, we implemented a splitscreen shooter with several topics we learned from the semester including, Phong illumination and shading, texture mapping, skyboxes, particle system, vertex shader methods, materials, and dynamic and animated lights.