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.