How LOD Works

5x5 active exterior cells area in the game

The game subdivides worldspaces into exterior cells. An exterior cell has 4096x4096 game units.

By default the game attaches (loads) 5x5 exterior cells around the player. This is the active exterior cells area where basically everything happens. The size is defined by the uGridsToLoad INI setting. Changing this setting is typically not recommended for stability and performance reasons.

Beyond these attached cells is the distant LOD area. In this distant LOD area the game shows terrain LOD (includes LOD for cell sized water), object LOD and tree LOD. These LOD types are basically discrete combined super meshes that each cover a large number of cells that are loaded at fixed positions. These super meshes are a fixed snapshot of the load order at LOD generation time.

For the tools to generate LOD and the game to load the LOD files a ..\Data\LODSettings\*.LOD file needs to exist for the worldspace Editor ID. The file contains the West/South origin cell (where LOD starts) and the min and max LOD levels for a worldspace. For new worldspaces the file can be create with xLODGen.

Not all worldspaces require or have LOD settings or files. Either because they are too small and fit into the 5x5 active cells, or because they use a parent worldspace (like Tamriel) for LOD. For example towns like Whiterun or Solitude etc.

These different LOD types are basically optimized and pre-combined models or meshes and textures (in case of tree LOD and object LOD from LOD assets like LOD billboards or LOD models and LOD textures) for a group of cells that represents the full content in the exterior cells. In addition not every little model has or requires a representation in the LOD area. These optimizations mean that distant LOD only uses a small fraction of the resources and performance that is required by the full content in the exterior cells.

In addition the game can show full models in the distant LOD area, so called neverfades. DynDOLOD utilizes neverfades for dynamic LOD.

Skyrim Special Edition and Skyrim VR can also show so called large references in this area. Unfortunately this system is limited and has large reference bugs. They are all addressed with the the large reference bugs workarounds.

The max render distance for everything is about a 100 cells. Because of the view frustum, the edges render further than the center, which can make for unsightly fading in case the current weather type does not limit the view with fog/mist.

For demonstration or debugging purposes the distant LOD can be toggled on/off by entering tll into console. When distant LOD is turned off, all that remains is the active exterior cells area, the neverfades and the large references. As can be seen in above screenshot.

If the player moves around, new rows of cells attach so that the player is always in the center cell. When new cells attach, the game first loads the ground and lowers the terrain LOD meshes by a fixed amount under the ground and disables water LOD for the cells, loads all trees and disables their tree LOD, loads all objects and their full models and then disables object LOD for the cells.

Having to wait for the full models to load before being able to disable the object LOD can take a noticeable time, in which the full models and their object LOD are both rendered for a brief time. In case the full model and the LOD model occupy the same 3D space (which for example can be the case for structures), their different lighting and textures can noticeable z-fight (texture flicker).

LOD does not cast or receive shadows. This can be mitigated by the ENB distant shadow effect or Screen-Space Shadows. If large reference bugs workarounds are used, tree full models can be made to also load outside the active cells, to push their swap distance further away.

Terrain LOD is separated into 4 LOD levels while object LOD is separated 3 LOD levels respectively. The LOD levels are named 4, 8, 16, 32 based on the number of cells for the edge length. For example LOD Level 4 covers 4x4 cells, LOD Level 8 covers 8x8 cells etc. Typically object LOD does not have a LOD level 32 - it can only be shown on the map.

Example of terrain LOD levels

The above screenshot shows green for LOD level 4, yellow for LOD level 8, red for LOD level 16 and blue for LOD level 32.

The numbers are the lower/left south/west cell of the area the LOD mesh covers.