Archive for May, 2010

Old Personal Project ‘SeeD’

Posted in Programming on May 28th, 2010 by Chris – Be the first to comment

I’ve been looking through all of my old personal code so I can start filling up my “Projects” page, which has been an interesting trip down memory lane.

One thing in particular is sticking out: my massive “DO EVERYTHING” codebase, dubbed “SeeD”. This code grew from my experiences with Quake3Arena modding plus a lot of NeHe/Flipcode reading. In fact, this was more than likely the codebase that I used to teach myself ‘advanced’ graphics concepts; specifically: loading mesh files (md3), loading image files (tga, jpg), and tree-based spatial hierarchies (octree, kd-tree, quadtree).

Now, when I say “loading files”, I mean I looked up the file format specifications and I wrote the loaders from scratch. At the time, I was still pretty new to most everything, so this was a pretty big deal for me. At the same time, I wasn’t about to work through loading a JPG file from sratch, so I did cop-out on that one.

As for the tree-based spatial hierarchies, I worked out the concepts out from articles I read online (particularly from Flipcode). Thanks to those same sources, I worked these out in the best way any overachieving CS student would: with massive amounts ofร‚ inheritance, templates and STL lists. While it runs well for what little it does, I can’t help but want to change it to use some ‘better’ approaches. I’ve been looking for a reason to try a ‘flat’ tree ๐Ÿ˜‰

I’ve uploaded the source I’m playing with here, sans a couple libraries/assets:

If you really want to play with it, I’ll see about sending you the project in full.