A network of sites, tools, and technology to bring ideas into reality.

The Digital Tumbleweed

Thoughts and ramblings of an enthusiast

Pfft…do we really need terrain?

For some reason, I’ve been completely motivated to hack on this 3D Engine. It’s been a great change of pace from the norm: come home, eat, sit at pc, play wow, goto sleep, wake up, repeat (with the occasional tv/movie in between). Last night and today I was able to add a couple of pieces to the engine. As I mentioned before, I got Octree’s working. Well I took some screenies for you all to get a glimpse at the first engine demos.

The red lines represent the Octree boundaries. The awesome thing here is that I was also having an issue with the skymap before I took these screenshots and realized it had to do with the VertexBuffers. Fixed it up and was able to capture these screenshots. I’m working on getting a SS util inside the engine too since that is a generally useful tool to have.
The blob you see in the above SS is made with an open source 3D modeler called Wings3D. It seems to be generally useful so far. Unfortunely, my artistic ability is about that of a 2 year old so you’re stuck with random nothings that I deem blobs.
So, moving on. I couldn’t decide today whether to terrain system or a particle system. I also wanted to get model animation working. In an attempt to get stuff done I broke it down and focused solely on terrains. Here’s what I’ve got so far. Nothing too spectacular, but I’m happy. :)

Enjoy.

12 hours is costly…but sleep, so refreshing.

So, just before I went to sleep Sunday night I had managed to get a number of things working. This was great news. I had content loading to the screen: textures, models, and custom shaders. I had managed to set up a few functional pieces as well: skymap, lighting (through shaders), and a camera system. All of this was done with the XNA 2.0 framework.

However, _just_ before I went to sleep I managed to break something such that the engine would crash at runtime…debugging this seemed to be of no help, and since this was after about 12 hours of coding, I decided the best thing would be sleep.

Last night I returned to battle this phantom crash. Turns out, which I found in a matter of minutes, when you have a class, static, named “Content” that you are using to set the root of the content repository, you shouldn’t name a variable - “Content”. Yes, yes…now is the time to /slap and /punch me. It was at the end of 12 hour coding stint…thats all I got.

Well, to bounce back from my folly and I was able to implement a pretty basic Octree system with correct culling and so forth. I may try to grab some screenshots tonight for you as this is a bit more impressive than “WOOT! I HAVE A SQUARE!”. However, I may just continue to press forward with the engine development and see if implementing an RTree is worthwhile. Thoughts?
That is all you get for now. :)