Bryan Bell

Get The Dealies

Over the course of my introductory graphics course, I learned a variety of graphics technologies, most of which I demonstrated in my final project. Entitled "Get the Dealies", a name hastily chosen after realizing I had neglected to name it moments before it was due, my final project provides examples of UV texture mapping, simple hierarchical modeling, camera transformations, and many lighting technologies, including bump mapping and diffuse lighting calculations.

Overview

In "Get the Dealies" the user, playing as a red ball, has the very simple objective of collecting as many dealies as possible, which are represented by a torus surrounding a star. Each dealie collected increases the user's maximum speed allowing them to both go faster and accelerate more quickly.

Bryan Bell
Bryan Bell

Lighting

Lighting in my final project is demonstrated in two major ways:

Sunrise - Sunset

All objects in my project are lit based on per pixel diffuse shading, either from an associated color value or a given texture mapping. This is showcased by a moving sun that rises and sets, demonstrating a change in lighting on all objects in my project.

Bump Mapping

The cliff face and track are bump mapped in addition to their given color values. Both are bump mapped from a common texture atlas via a UV coordinate map, giving their flat surfaces a more appealing roughness.

Animation

To give my project a more polished look, objects are given animations to make their movement look smoother. The ball is rotated to face the direction it is moving and is then rotated based on its current movement speed. The dealies rotate while idle, and fly away when picked up to make grabbing them more gratifying.

Bryan Bell

Camera Transformations

Rather than lock the camera in position relative to the ball, I created a track which the camera follows as it tracks the ball. This allows the camera to be more dynamic and avoids the possiblity of the camera accidentally clipping into world geometry.

UV Texture Mapping

The models in my project are all .obj files modeled in the 3D modeling program Blender. Blender allows its users to export UV texture coordinates along with the objects geometry coordinates, the .obj loader I used however did not import the given data however. I modified the .obj loader to import UV coordinates which I used to texture my ball and apply the bump map to my cliff and track.

Bryan Bell

Hierarchical Modeling

My project includes several simple hierarchical models: the dealies are composed of seperate star and torus objects, the cliff and track are composed of nine seperate objects allowing for them to be seperately shaded and textured.