Tuesday, September 21, 2010

Shaders

Working currently on a pipeline component to translate the Q3 shader descriptions into something more modern. It looks like it'll be a fairly straightforward translation to HLSL though the surface tessellation will require a load-time step.

Friday, September 10, 2010

Fun with XNA

When XNA debuted back in 2007 I said to one of my coworkers at lunch that I bet you could easily have a game with the level of fidelity of Quake 3 done entirely in XNA on the Xbox 360. As far as I know nothing like this has yet materialized (though I may be mistaken!), but I figured I'd take a stab at it.

Since I have no art skills to speak of beyond drawing stick figures in the margin of my notebook at work while trying to pass the time in yet another ridiculous meeting I figured the best place to get Quake 3-fidelity assets was to start with... Quake 3. I picked q3dm11 as a starting point, mostly because it was the biggest map file I could see after digging into the PAK.



I also don't really have any graphics programming skills to speak of either so I'm mostly figuring this out as I go. I've got the BSP parsing and the world geometry rendering now (including bezier patches), roughly textured and somewhat lit.



I'm currently using raw textures now for surface detail, but I plan on tackling the shader system soon.



It's somewhat (well, almost completely) unoptimized. I'm issuing 12,000 draw calls per frame and haven't begun to cull any objects yet.


There's plenty of work to do, and I still need to get it going on the Xbox 360, and I hope to keep updating as progress is made.