Wednesday, January 25, 2012

Just a quick update

The last couple of months I was entangled in some stuff that I can't really talk about, so I didn't have time to post on my blog, or work on any of my tech experiments. (Not to mention that so many interesting tech stuff happened in those months, Rage was released, Doom 3 source code was released etc.)  However now that's all behind me, it's now my intention to blog more regularly again now that I can.

In the meantime, here are some things that I've been messing around with lately.

I created a simple Minecraft renderer, which unfortunately slowed down to a crawl due to the recording software but which is silky smooth without it. (I really need to upgrade my aging machine!!) The light is simply interpolated between the tiles which creates an interesting GI kind of effect. It doesn't correctly take occlusion into account, so that's an area of improvement. Also it's very close to brute force at the moment, with chunks only frustum culling (and of course back-face culling) being used right now to decrease the number of polygons. Transparent blocks are sorted on a chunk level, but are currently incorrectly sorted within the center chunk. The only way to do that is to split the center chunk into 8 pieces and render those separately. In fact, all chunks that lie in a straight line with respect to the center chunk would need splitting. That said, I'm not so sure if I'm going to spend much more time on this though.



Of course like everybody else and their cat, I created my own Doom 3 source code branch, with GLSL shader support, where I'm busy replacing the Doom 3 lighting model. Right now it uses a physical correct lighting model, although the lighting isn't yet properly normalized. I also wrote a small C# library to load LWO files, which is still very rough in it's current form, but my intention is to improve on it as time goes by (any help improving this lib is appreciated!)