During my colleague Matthias captured the scenes for the AC3 windows article we had to turn down the graphic settings because the frame rate was a bit low. But this gave us the opportunity to see an interesting effect. Normally you can’t see it because with higher settings they do it far away, barely noticeable.
It’s how they blend in/out the Level of Detail (LoD) versions of their objects. Do you see it? The have a noise texture which gets more grainy over time until the object is blended in completely. For me it looks like alpha1/alphatest.
So why is this awesome? Because, as far as I know, there’re two (now three) techniques how you can change level of detail stuff.
- Blend nothing. Just let the new object *plopp* in (and the old out)
- Blend smoothly via alpha8
- Blend grainy via alpha1/alphatest (seen above)
The *plopping* takes less performance because you have to render only one LoD version at a time. When you do blending, you have to render two objects (new and old version) for at least the blending time. But the switching between the versions (depending on the distance) is very noticeable and ugly.
Number two gives you the most beautiful effect but can have problems when it comes to foggy regions. Depending on your engine it can happen, that it’s not possible to have fog on alpha8 objects. This means, during the blending you would see the new LoD object rendered without fog and when the blending is over it would *plopp* “into” the fog because now the engine is able to lay the fog over the object. See the picture below as an example. This picture is taken from the Internet and they solved the problem, but it shows what I mean.
So the solution in Assassins Creed impressed me, because they have combined the beauty of blending and avoided the problems with fog. I’m not saying, that they would have problems with fog! But maybe that’s the point why they choose this blending solution.