Jul 26, 2006 - Doom3 Viewer

This is my little try at writing a Doom3 viewer. It’s written in C++ using OpenGL and SDL.

Right now I only read the .proc and .mtr files. In the .proc file, I have figured out how the model (geometry), nodes (BSP) and interAreaPortals (portals) work. The culling works really nice now. Now I just have to figure out how the shadowModel works as well, among other things. The material files are a bit more complex than the Quake3 files, but in time I’ll figure it out.

Current features:

  • Render the levels (with diffuse-map & decals only)
  • Uses the Doom3 Portals/BSP system.
  • Parse the material files, and have most of it working, and switching to using boost::spirit made it really fast and elegant.
  • Parse the .map-file, to some degree ;].
  • And that’s kindof it right now.

Things TODO:

  • Do all the fancy per-pixel-lightning. :)
  • Shadows.
  • Everything else.... ..read more.

Jan 21, 2005 - Chess

I went to Stockholms Universitet (Stockholm University) the spring 2003. I had among other things a course in multi-agent-systems. Our task was to, in teams, make ai-agents that could play chess together. I didn’t learn too much about multi-agent-systems (other than it doesn’t work well for chess) but I did make a nice chess-agent. I have wanted to take that code, convert it into C++ (it was coded in Java) and see how hard it would be to beat when I increase the search-depth etc… Well. All I have to do is make a graphic front-end, and convert all the code. ;]

2005.01.20: Shaders are mostly done… per vertex lighting, ah well.

2005.01.17: The graphic frontend is in the making.

Jan 8, 2005 - The Tempest Engine

This is screenshots from my 3D-engine in the works, The Tempest Engine. It’s written in C++ using OpenGL, SDL and DevIL. Current features:

  • Reads in my own model-format and renders it.
  • Wrote a Maya-plugin to export into my own format.
  • Per-pixel-lighting.

Things TODO:

  • LOTS.. ;]

... Read more.

May 2, 2003 - Shadow Mapping

I have been asked by many to explain how to make shadowmapping and GLSL to work together, and because I am lazy I will try to explain it all here. ;)
First off: if you don’t know C++, OpenGL and some basics about shadowmapping, you need to go read up on that first. Other people descibe how to get that working, so I will not repeat (badly) what they write.

If you havn’t read it, read this shadowmapping tutorial straight away.

Here is the fixed function code to set up the projection of the shadow (still using the texture matrix, easier to switch to GLSL from that position):

... Read more.