CSCI 441 - Computer Graphics

Fall 2016

|     Home   |   Syllabus  |   Assignments  |   Leaderboard  |   Schedule  |   Resources    |


Key to the Kingdom


It is snowing now in Colorado, but in the land of CSCI441, the leaves are only beginning to fall as our hero goes on his last adventure! Unfortunately, the multi- pass shader seems to have gotten drunk.

Summon the Wizard


There is a real party now, with particles!

The Middleplane


This is demonstration of shader-stuff. Dr. Occludo also had his icosa-balloon upgraded with textures and pre-baked lighting. Even the sky is celebrating.

Guild Wars


The math to get the main hero to move around on the bezier surface in straight lines was very complex to figure out. Everyone had to put in an enormous amount of raw work, and make it all fit together.

How to Train Your Pegasus


This assignment uses Bézier curve stuff to animate a pet icosahedron around my hero's main icosaballon. My program also has the option to force the inputed C0-continuous curve tp be C1-continuous by modifying the middle two veracities in each cubic sub-segment of 4 veracities.

Territorium


I made this game for SQ1, but it ended up being both really fun to play and awesome looking. You should take it for a spin! More levels are coming all the time.
Windows Download

The goal is for blue to conquer over half of the map by expanding onto different squares. Each turn you decide which type of tile to move onto using the number keys. So pressing "1" would expand to all adjacent forests. However, your enemy (red) will also expand onto tiles of that type. Pressing "r" will restart the game, "esc" will exit, and clicking and dragging the mouse orbits the map.

You score is the total number of tiles conquered over the course of several rounds. As soon as you loose a round it is game over and you receive your final score.

Oh The Places You'll Go


Admittedly I did the bare minimum for this assignment. I had been working all week on Territorium (see above) and I was just kind of done with life by the time the due-date rolled around.

The Sword of a Thousand Truths


While the glowing sword was cool, my hero decided to trade it for something more useful. Like a hot-icosahedron-balloon! He also got a set of daggers, but that isn't as fun.

The balloon is (once again) an OBJ file from blender. Split up into parts, it is drawn in a hierarchical fashion so that I can add cool animations. I did have to enable the depth buffer so that it would draw correctly. There is a ton of fake physics done on the balloon so that the controls feel fun. Most of was done by putting loads of "feels about right" trig into various glRotatefs. The idle animations were also done without resorting to real math.

Lab 00


While the triangles in the first image were drawn in-code, the second image was loaded out of a Wavefront OBJ file exported from Blender! The file stored a huge list of vertices and triangles with color and ordering information attached to each layer. The c++ program read them out, sorted the layers, and sent them all to OpenGL.

Adorn Your Temple


The OBJ importer from Lab 0 was actually invented here. Each character was drawn by Blender using the Century Gothic font, then exported. So was the icosahedron. The program translated them one-by-one into position and added fancy rotation. The outlines come from a wireframe pass of each letter. Then a solid pass was drawn over the top to fill the letters in.