CSE 40166 / 60166 - Computer Graphics

|    Home  |   Syllabus  |   Assignments  |   Schedule  |   Resources   |

Brenden Kokoszka

Homework 1

Homework 1 screenshot
For this homework assignment, I made a simple OpenGL program to draw letters. It displays my initials as well as the department initials. -

Homework 2

Homework 2 screenshot
This program demonstrates the use of animation and interaction in OpenGL and GLUT. It displays an ice cream cone character who moves about in response to arrow input. Its eyes follow the mouse pointer. When the mouse is clicked, it fires a laser at the current mouse location.

Extra Credit 1

XC 1 screenshot
XC 1 screenshot
This program is an asteroids-like game in which the player controls a satellite that is endangered by flying asteroids. The satellite is in constant motion but can be steered left or right. It also has a gun which can be pointed with the mouse and fired by clicking. If a bullet hits a meteor, it destroys it. The object of the game is to destroy as many asteroids as possible.

Homework 3

HW3 screenshot
This program is a demonstration of the 3D capabilities of OpenGL. It draws a vehicle which can be moved with the WASD keys. An arcball camera provides a view of the car, and can be controlled using the mouse.

Homework 4

HW4 screenshot
This program reads a set of input points from a CSV file and plots cubic Bezier curves between them. A moving ball animation traces out the path of the curve.

Midterm Project

Project screenshot
This program reads a set of input points from a CSV file and plots cubic Bezier railroad between them. It then animates a train following along the track. The user can use several different types of cameras to explore the environment.

Homework 5

HW5 screenshot
This program displays two particle systems: a fountain and a cloud. The could can be moved by the user. The particles of the systems are displayed using billboarding, thus giving a 3D appearance to 2D sprites. Both the systems are drawn within a skybox.

Homework 6

HW6 screenshot
My particle system game features a ruby which must be navigated to avoid collisions with rolling wheels while collecting as many points as possible. Collding with a wheel or falling off the edge of the map both end the game. Points can be collected by colliding with the floating blue spheres. The attacking wheels cannot be destroyed directly, but can be lured into falling off the edge of the map.

Homework 7

HW7 screenshot
This program demonstrates effects that can be achieved with custom vertex and fragment shaders. I implemented a vertex shader that, instead of displaying each vertex as a stationary point, would interpolate between two points for each vertex, giving an animated effect. This allows for pose-based animation, in this case between two different facial expressions. I also implemented a fragment shader that performs cel/toon shading. This is essentially normal Phong lighting, except that the continuous light intensity values are floored to a small number of discrete levels, giving the scene a cartoon-like effect.
Flocking behavior Fish casting shadows
This program realistically simulates the behaviour of fish and sharks in the ocean. The fish school together in a Boids-like fashion and exhibit emergent behaviour as they navigate the environment. The sharks chase the fish, which in turn flee from the sharks. As the simulation runs, more animals can be added. The parameters defining the way the animals behave can also be adjusted mid-simulation. The simulation is displayed realistically using graphics techniques such as a skybox, shadows, pose-based animation, and point lighting.