Nicholas Woodfield's Portfolio

"The best way to predict the future is to implement it."

Spark Engine

Honors Thesis

Download




Honors Thesis

In May 2010 I graduated from the University of Connecticut in Computer Science and Engineering, with honors. As an honors student, one of my graduation requirements was to complete a year long project of my choosing under the mentorship of a faculty member. I took this opportunity to study graphics technology, particularly in regards to shader programming. My study resulted in the design and implementation of "Spark Engine", a graphics/game engine, and a 56-page thesis (which can be viewed via the link to the right).

As an engineering student, another graduation requirement was to complete a "Senior Design Project" with several other students. It is generally the case that these two projects are combined together. The senior project was the creation of a small game that used the graphics technology that I developed for my honors thesis.

Spark Engine

A major goal of the engine was to experiment with advanced shader effects such as normal mapping, environmental mapping, and GPU skinning (animation). In addition, I designed a scene graph that allowed for efficient rendering due to frustum culling (the scene graph incorporated a bounding-volume hierarchy) and render queues, which meant I was able to sort 3D objects by their render states and material, to minimize state switching.

The project's source code is available for all to see via GoogleCode. The page also has a bullet list of features and YouTube videos of some of the engine's capabilities, and one of our senior project results. The project used the XNA Framework and was written in C# using the .NET Framework.

Read More

Post-Graduation

Spark Engine was mostly a learning project and a stepping stone to gain experience. After I graduated I began work on another open-source project, Tesla Graphics Engine, which is the spiritual successor to my thesis work.