by coder0xff on Sun Jul 26, 2009 7:23 pm
I've determined the exact and accurate description of how LODs are computed. First, I'll just say what it is... and then I'll explain. LOD is 100 divided by the number of pixels spanned by one unit (vertically) at a distance equal to the model origin's distance...
K, so WTF does that mean, right? Most importantly, it means that LOD is NOT dependent upon the model size, and IS dependent on screen resolution and the FOV.
Here's an example: You make a model of an upright cylinder that's one unit tall. At a certain distance, the cylinder will appear to be 5 pixels tall in game. Hence, one vertical unit is 5 pixels tall - at this specific distance. So this distance would have a LOD of 20 (100 / 5).
Now, of course, if you increase your screen resolution (or lower FOV), then the number of pixels at the same distance is going to be greater - which means the LOD has changed, too. Now that it's, say, 10 pixels tall, the LOD is 10 (100 / 10). You are going to see greater detail LODs used at further distance with a higher resolution. This way you won't have high res renders of low polygon models.
Hope someone finds this useful. I've always wanted to know exactly how it's done.