Capstone Demo

Project Tech/Algorithms

  • C#
  • Unity
  • C++
  • DirectX
  • Windows API
  • 3D Model Generation
  • HLSL (DirectX Shading Language)

Extended Details

Capstone is the hardest course at Neumont as long as you put your best foot forward. I personally put in as much time and effort as I could into my capstone project - almost 300 hours over the 10 week course. It is a self-driven course that students are supposed to program the most technically deep thing they can accomplish in that time frame.

First things first. My capstone is a desktop application. What you see demonstrated here is not my capstone editor. It is an example project that makes use of output from my capstone editor to show how useful it can be.

My capstone editor is written in C++, using DirectX and the Windows API. It allows users to specify desired variations in 3D models by specifying transformations to apply to groups of vertices on a model. It then allows the user to export varied models for use in any game, or to export a binary output file that can be combined with a C# script I've written to generate varied 3D models in real-time in Unity projects.

That is what you see here, that binary output file being used in Unity to generate 3D models. The technical depth of my capstone exists not in the Unity side but in the editor side where I went all the way from writing rendering fucntionality and grabbing user input to applying complex variations to models and generating variants in real-time.

The intent of this project is to save artists and devleopers time by allowing for easier generation of varied 3D models. It also is intended to add variety to games. Go ahead and look through my demo above, and click 'boringify' to see what any of the scenes would look like if every model were the same, effectively saying 'remove my capstone'. The 'regenerate' button does the opposite, varying the models based on specified criteria, effectively saying 'add my capstone'.

Please note that 'Dargon' is not a typo on dragon. It is the name of the 3D model I was demonstrating. That's been an inside joke amongst my cohort of game development students since 4th quarter and I wanted to keep it going.

While I do hope to make my capstone avialiable to others for use eventually, there are features I feel are necessary to add for user experience purposes that I do not currently have time to add. After I get the time to add those, it may become availiable for use by others.

Project Credits

© Justin Furtado 2018 - LinkedIn - justin.l.furtado@gmail.com