CSCI 441 - Computer Graphics

Fall 2025

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

The Scarab God


A1: This sign was created in OpenGL for Assignment 1. It features the name of My Hero combined with a circular crest, all drawn using triangle primitives and transformations.

A2: My hero, The Scarab God, was created in OpenGL for Assignment 2. It features idle animation of raising and lowering the right arm, keyboard callbacks such as WASD movement and raising the left arm by pressing R, mouse callbacks such as shooting a beam if left click and R are both pressed and changing the staff orb color if just left click is pressed. It also has features such as the eyes looking at the cursor and the beam from the staff being shot at the cursor. Finally it involves screen wrapping when the hero is moving off the screen onto a new map screen.

A3: I expanded upon my OpenGL experience by building a fully animated, heirarchical scene. This project includes a cube-based hero standing on top of a basic car, both constructed using heirarcical transformations. The hero's arm swing continuously while the car's wheels spin dynamically as it moves. The scene involves a interactive arcball camera that can orbit or zoom about the hero. It also includes Phong + Gouraud lighting for visual depth and keyboard controls for movement and rotation of the hero.

Midterm Project: Working collaboratively within our guild, we created a fully interactive 3D world built in OpenGL. The scene features multiple animated cube-based heroes that can move across a dynamic environment populated with additional 3D objects. Users can toggle between an arcball camera that orbits the active hero, a free camera for full-scene exploration, and a first-person camera embedded in the hero’s view, displayed through a picture-in-picture viewport. The world is illuminated using the full Phong Reflectance Model with Gouraud shading, combining directional, point, and spot lighting for realistic visual depth. A textured skybox surrounds the environment, completing an immersive, fully lit, and animated OpenGL scene.

Lab00A: This lab used triangle primitives and transformations to make a couple pyramid designs.

Lab00B: This lab incorporated skills gained in Lab00A in order to recreate a scene from my hometown. I chose to draw a lake with beachsides and trees on the horizon.

Lab01: This lab incorporated animation and user inputs in order to take a twist on Lab00A. The triangle spins constantly and changes color if the mouse is pressed or if 'C' is clicked.

Lab02: This lab incorporates a free cam that can fly around the buildings in the above image. The camera moves forward by pressing or holding the 'w' key, backward by pressing or holding the 's' key and changes view by moving the mouse.

Lab03: This lab introduces VAO, VBO, and IBO setup in order to draw the mesh of this creature.

Lab04: This lab introduced vertex and fragment shader setup in order to draw different meshes.

Lab05: This lab introduced diffuse lighting in order to get a more realistic drawing/flight simulator.

Lab06: This lab introduced texturing in order to draw different meshes with the same texture.