CSCI 441 - Computer Graphics

Fall 2025

|     Home   |   Tasks  |   Leaders  |   Schedule  |   FAQ  |   Resources    |

Cosmo the Wizard

Labs 00A and 00B:




In Lab 00A (Top image above), I followed a very detailed procedure to learn about drawing to a 2d canvas in OpenGL. These two transformed tri-force symbols made out of triangles were my first creations in OpenGL. After that, the goal of Lab 00B (bottom image above) was to use a square OpenGL canvas to create a picture of our characters' hometown. I invision my character as coming from a snowy, forested mountain town so I drew a mountain and a couple of trees. I also tried my hand at trying to draw a quarter circle sun with a gradient background to show its rays.

Lab 01:




In Lab 01, I followed the provided set of directions to create my first animated OpenGL program where the user can change the color and location of a spinning triangle. The canvas starts off with a gold spinning triangle that follows the user's mouse position. The user can then change its color to red by clicking the mouse down or toggle its color by pressing the C key on their keyboard. The program can also be exited by pressing escape instead of clicking the exit button on the window. One image above is the gold triangle and the other is it toggled to red in a different location with the mouse.

Assignment A1:


The goal of assignment A1 was to create a name banner with our character's name and a symbolic crest representing their hometown. Given the fact that OpenGL works primarily with triangles, I spent some time designing this very sharp and angular way of writing Cosmo's name. I also included a tree symbol with a ring around is to represent the snowy forest he comes from and a decorative fan background with multiple colors. One interesting implementation detail in this project is the fact that S letter is actually composed of two transformed C's rather than being a separate set of points.

Lab 02: Flight Simulator




In lab 02 I got to learn about cameras in 3D OpenGL for the first time. This lab had us create a grid or procedural generated multicolor building. We then added a free camera that could move around the world to explore it. The camera could be moved forward and backward with the W and S keys and could also be turned by clicking and dragging with the mouse.

Lab 03: VAO, VBO, IBO Hellknight


This lab was the first time that we removed some of the abstraction of our class code library. I had to manually use plain OpenGL functions to register my VAOs, VBOs, and IBOs and send them to the GPU for rendering. In order to make this a slightly less time consuming process, we were given a premade model to import and simply had to create a rainbow platform for it to stand on. We also learned to register and render the texturing of the model provided.

A2: The Grand Bazaar




In assignment A2 we were tasked with creating an interactive version of our hero. In my program, the gem on top of Cosmo's staff slowly alternates color between red and pink all the time. I also implemented keyboard and mouse functions that allow direct interaction. The W, A, S, and D keys move Cosmo around the 2d world by going up, left, down, and right respectively. When he reaches the end of the screen, he wraps around and the next world tile from the provided map class is displayed under him. Finally, when left clicking with the mouse, you can drag the pointer around the window and Cosmo will stay looking at the pointer. His body will also face the direction he is currently walking in and the program can be closed with the escape key.