# Hierarchical Level-of-Detail

Hierarchical level of detail (HLOD) in complimentary method that involves the following:

  • Offline grouping of large variety of meshes together (usually in close proximity) in hierarchical manner and generating proxy geometry and material.
  • Rendering the hierarchical data based on a switching metric ( i.e area covered on screen or distance from camera).

# Unreal Engine Specific Terms

  • Hierarchical Level Of Detail levels - The hierarchy level deciding when to switch in the clusters.
  • Clusters - a group of actors which are representing the source meshes fed to Simplygon when creating the proxy mesh.

# When to use

  • Ideal for large open worlds.
  • When you have high triangle density leading in sub optimal hardware performance due to overdraw.
  • When you have many objects on screen and draw submission is the bottleneck.
  • When LOD switching mechanics are required.

# Gotchas

Generating proxies adds cost to your texture memory budget. Depending on your implementation of HLOD system you need to strike a balance in the number of HLOD level.

# Tips

To minimize pops rendering engines can use the following techniques:

  • Screen door fading: a screen space technique where a dither pattern is used to blend between LODs when switching.
  • Geomorphing: a techniques that requires an extra set of UV coordinate to blend between the vertices of LODs.

To generate better clusters:

  • Use HLOD Volumes and for building assets and generate cluster generation based on only volumes. i.e. Metropolises
  • If you have a Landscape Actor in your level. Enable landscape culling to clip away back facing triangles. This also allows for better usage of texture space for baked material.

# See Also