CSCI 441 - Computer Graphics

Fall 2021

|     Home   |   Assignments  |   Leaderboard  |   Schedule  |   Resources    |

Daynight Cinderblock


A1 - Hoist Your Sign

Description

This assignment is an example of using triangle primitives (along with the different ways to draw them), coloring, and transformations. We use translation, scaling, and rotation to use display these letters. An example of this is that the "d" and the "a" are the same set of primitives, but with different transformations applied. Similarly, the letter "n" and "c" are made up of the same primitives.

Screenshot



Lab 2

This program utilizes 3D graphics and showcases the 'freecam' camera model.

Screenshot



A2 - An Unexpected Journey

Description

This assignment showcases learned techniques from Computer Graphics. It includes model instancing in order to properly transform each component. Additionally, it utilizes translations and rotations in order to move the Hero. Mouse position/button and keyboard button callbacks are used to control the Hero. The Hero can move across each world by crossing the edge boundaries.

Screenshot


A3 - To The Arena

Description

This program shows many different aspects of computer graphics. The first is the use of hierarchical designing of the hero model. This also implements the usage of motion animations and vertex/fragment shaders. The program is the hero's character (a vehicle) that travels through a plain of buildings.

Screenshot


A4 - Off to Never Never Land

Description

This program shows many different aspects of computer graphics. The first is the use of hierarchical designing of the hero model. This also implements the usage of motion animations and vertex/fragment shaders. The program is the hero's character (a vehicle) that travels through a plain of buildings. The program showcases bezier curves as well as a skybox.

Screenshot


A5 - The Barbarian Horde

Description

This program shows many different aspects of computer graphics. The first is the use of hierarchical designing of the car model. This also implements the usage of motion animations and vertex/fragment shaders. The program is the hero's character (a vehicle) that travels through a grassy plane. The program showcases a skybox, textures, particle systems, collision detection, and Gouraud shading.

Usage

  • Goal
  • The goal of the game is to push the big ice balls off of the world. When the last ice ball falls off of the world and disappears (i.e., falls out of view and out of the skybox), then the car will return to its original size, indicate that you have WON the game!

  • Collisions
  • When ice balls collide with each other, they become one ice ball that is the size of the sum of radii. Their directions also get averaged together to produce a new direction. Each ice ball's speed is inversely related to its size (i.e., bigger ice balls roll slower).
    When an ice ball collides with the car (you), the car and the ice ball go through an elastic collision, where the new directions are determined by the car and the ice ball's positions. The car also loses some health, and this is denoted by the car shrinking after each hit.

  • At World's End
  • The world is a floating platform. If an ice ball falls off the edge, it falls indefinitely. Similarly, the car can also fall off of the edge of the world, so be careful!

  • Attraction
  • Each ball will move in the direction of the car. Each frame that the balls are rendered, they angle themselves slightly in the direction of the car, providing a spiral-like trajectory to the car.

Screenshot


Final Project - There And Back Again

Description

The goal of this game is to find all the hidden objects scattered around the world before time runs out. Throughout the 2-minute time limit, the user will get helpful messages displayed in the terminal reminding them when time is running out and then displaying the final result of the game. The hierarchical and animated player can move around the world with the controls found in the following section. If the use runs into a building, they are respawned back at the origin.

A custom shader allows the hidden objects to become a darker shade of blue as the player approaches them and the player can obtain a hidden object by walking through it. Another custom shader is used to give puddles found in the world a gradient of blue based x-values, as well as give it movement by changing its y-values based on time. An easter egg speed boost can obtained found by swimming in one of the two above water puddles. Lighting illuminates the world with the sun point light and a spotlight that shines directly above the player and stays above the player throughout the game.

Screenshots