Mesh Decimation
During my senior year of college I took advanced computer graphics with Dr. C.-K. Shene (CK). Our final assignment for the year was to create an interesting program. This was an open ended assignment that lead to a world of possibilities, the only limiting factor is that you needed to get your idea approved by the teacher.
After many conversations with CK, we finally came up with a fun idea, I was going to create a dynamic shadowing system. Well, as it turns out, that wasn’t as much fun as I had hoped. I came back to him and wanted to do something else. He then told me that an assignment he had always wanted someone to do is mesh decimation (even the name sounds fun!). He wanted me to implement a very simple version, but, I decided to take it several steps further.
My first implementation was in Java3D, and it was slow, very very slow, but it worked! Unfortunately this is the one that I turned in for class. I was never really happy with it, so that summer/coming fall (after graduation) I decided to take a detour from interviewing and re-write the entire thing using OpenGL. One of my main goals was that it could be run on OSX and Windows. I had a hard time getting mouse movement, etc. working on a multiplatform environment as I had never done so outside of Java. Thankfully SDL was around and saved me from a world of issues!
Here is a peak at what I accomplished in the few weeks I spent making the system:
