# 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.