Monolith Programmer Mike Dussault
updated his .plan with talk of seeing Ministry, email, and LithTech2
programming, which is, of course, the part quoted below:
The first iteration of the terrain functionality is in now. Wes has been busting
out cool terrain levels for a while
and everything is proceeding smoothly. I know I will have to revisit terrain a couple
times in the next couple months to get it better and better, but the hardest part is over.
As part of the terrain work, the engine's top-level search structure is a quadtree instead
of a BSP tree now. (Changing to an octree is very easy, but we don't need it for NOLF).
This comes in handy, is faster for certain operations, and handles non-indoor games better
than a BSP as well, so I'm glad this got in.
While working on model LOD, I found a way to rework the skeletal animation loop to be MUCH
faster. I can't believe I missed this before.. it was so obvious, but it's a relief to
have the LT2 models rendering at the speed one would expect.
I'm very pleased with the way the model LOD came out. It's much simpler than the Shogo
method (which was similar to Intel MRM) and is a lot more efficient. In the game, we will
be using a set LOD offset for each GAME detail level (ultra-high, high, medium, low), and
the animators can tweak out what each version will look like. The transitions between LODs
are smoothed out so you can only tell it's doing LOD if you really look hard.
The model rendering will get another pass in the not too distant future, and I'm expecting
even more performance gains. Sometimes this kind of thing bites me in the ass though..
envision this scenario, "I am specifying 1/3 of the vertices as before, but it
renders slower!" Or how about, "I removed 20% of the transforms, but it renders
slower!" There are those who say there's a reason for everything, and there are those
who use 3D APIs...
Primary things left to address for LT2 (I'm leaving these extremely general because I'm
sure I'll end up doing the exact opposite of whatever I say here :)
- Lighting enhancements
- Networking
- Mods
- More model optimizations
- More terrain optimizations
- General renderer optimizations.. I have some ideas that I'm very excited about