CSCI 441 - Computer Graphics

Fall 2023

|     Home   |   Assignments  |   Leaderboard  |   Schedule  |   Resources    |

Gengiben




Final Project

The final project for this class was a ton of fun to work on. The Graphics Gremlins decided to make a first person pacman game and the final result turned out great! We used Phong lighting and were able to get pretty much everything working

A4

A4 was a lot of fun to complete. Adding the night sky (milky way) as a skybox added a lot to the project. Getting a bezier curve working. This assignment gave me a better understanding on how to use different shader programs in the same general program and how to integrate bezier curves into a project.

Midterm Project

The midterm project was a lot of fun to work with and was pretty rewarding as far as the end result goes. Implementing a full lightiing model was a lot of work but I learned a ton along the way. The Graphic Gremlins ended up with some great results!

A3

This was my favorite project from the class thus far. Working with shaders and low level opengl was super fun and I really enjoyed the process of creating and coloring a 3d world

Lab 05

Moving into lighting has been super cool and coupling that with 3D movement has made programming for computer graphics much more interesting

Lab 04

Working with shaders is awesome. I have been looking forward to gpu programming and can't wait to work with different lighting models to move towards photorealism (as much as possible at least)

Lab 03

It was awesome to render this model from the game DOOM. Getting to the point of rendering different types of models is super intersting

Assignment 2

The two images to the left are the character that I made for A2. I had a lot of fun experimenting with different styles and animations. In the end, the player was able to roll around on the wheel and look at the mouse. When the screen is shift+clicked, the players hat flips around and the the rabbit (if you can call it a rabbit) moves up and down from within the hat.

Lab 02

The image to the right is the final result of lab2. Getting to have control over a scene and work with objects in 3D was pretty fun.

Assignment 1

For this first assignment, I decided that it would be an interesting challenge to read in the point data from files and using the data and format of the files, the specified objects would be rendered in specific ways. For the general fromat of the files, I went with a format that is similar to json with the curly braces specifying objects and different areas of the file. The image on the far left is where the base shapes are specified. The top line is the name of the shape/object being created, followed by the primative type to use for drawing. The next section is the point locations and the last section is the color data. I did end up adding a special format for TRIANGLE_FAN so that you could specift the center location, the radii, and number of segments to use so that you don't have to manually input all of the points. The image on the right is the object file, which uses shapes created from the previous file to create objects. With this format, you can also use objects that were previously decalered in the object file and set them as sub objects for the for some other object. With this form you declare the new object name on the top, followed by a series of pre-defined objects, each of which has a translation (x,y), scale, and roation in degrees. These transformations can be stacked so if an object is built using some other object that has transformations applied, the overall object can then be used to create some other, new object that can then again translate, rotate, and scale. In the end, this was most definitely overkill for this assignemnt, but it ended up being a pretty cool system for building the banner, and I might try to use it for future assignments if at all possible.