Nicholas Woodfield's Portfolio

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

Projects

These are some of the major projects I have done in the past. Some include source code and downloads.

Tesla Graphics Engine

Tesla Graphics Engine The Tesla 3D Graphics Engine is an open source C# project that is derivative of my honors work in my senior year of college. It's currently an active project I spend most of my time developing. I began work on it in summer of 2010, and it has begun to reach a stable, usable state. There's still a great deal to port from its predecessor, but the project is solidly on its feet. In all, the project has 45,000 lines of code and quite a few moving parts.

My intentions for the project was to create a usable rendering platform that was abstracted away from a specific graphics API, my effort is to create portable software that can be made to work with OpenGL and DirectX on both the .NET and Mono frameworks. Currently I support DirectX10 and XNA which means I only support Windows and Xbox 360 at this time. For more information, please visit the project website. I also maintain a development blog on the engine's home page. Additionally, the site contains a full list of features and development roadmap (it is a bit cumbersome to list all of that here).

Update: I have an Ohloh metrics page for the project here.

Read More

Spark Engine

Spark Engine Spark Engine was the precursor to my current project (listed above). This was the focus of my honors project and subsequential thesis. In addition, Spark was a part of my senior design project that I completed with two other students that resulted in the platform being used to create a small prototype tank game. Spark was implemented in C# using the XNA Framework and was in development for roughly 8 months.

A major goal of the project 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.

All of this work became the foundation for my current project, Tesla Graphics Engine, which was started as a grand redesign to correct design flaws, and use my experience developing Spark to create a better product. I still maintain the last revision of the code base, as well as videos that were taken during its development on a google project page.

Read More

jMonkey Model Importer

jMonkey Model Importer This was a project I started and completed in my Sophmore year of college (non-academic). It was my first foray into tools development, specifically a model importer and viewer for the jMonkey 3D Engine, which is written in java. This tool is also written in Java I released it to the community. I used the tool for my own needs, and a few people in the community also found it useful too. For pictures, the last version I released, and source code, please visit the project page via the link below.

Read More

Monkey Checkers

Monkey Checkers Monkey Checkers was a 3D checkers game that I completed with another student for a Software Engineering term project. It's written in Java and uses the jMonkey Engine for the graphics. We were tasked with creating a lobby/game client that connected to a server using RMI. Follow the link below for more details and pictures.

Read More