====== Level Of Detail ====== To reduce the rendering performance impact of models with high triangle counts or models with a lot of instances, Hurricane supports levels of detail (LOD). This allows models to be rendered with a different mesh at different distances to the camera. Hurricane supports 5 different levels of detail: ^ Level ID ^ Min distance ^ Max distance ^ | 0 | 0 | 50 | | 1 | 50 | 100 | | 2 | 100 | 200 | | 3 | 200 | 300 | | 4 | 300 | ∞ | ===== How to ===== To add LOD to your model, for each mesh in your model, do the following: - create less detailed versions of your mesh - for each level, put your meshes in child nodes named ''LOD_X'' with ''X'' being the selected level - alternatively, you can use a single mesh for multiple levels of detail: for example, if you name your mesh node ''LOD_23'', this mesh will be used for rendering at levels 2 and 3 - if you want to hide a model at long distance (useful for small props too small to see from far away anyway), don't use levels past the max rendering distance you want: for example, if you want a small prop to not be rendered at a distance greater than 100, only create meshes ''LOD_0'' and ''LOD_1'' ==== Example ==== Here are a few examples of model hierarchy using LOD === Before LOD === * ''RootNode'' * ''BuildingMesh'' <- high detailed mesh === With one mesh per level === * ''RootNode'' * ''BuildingMesh'' * ''LOD_0'' * ''LOD_1'' * ''LOD_2'' * ''LOD_3'' * ''LOD_4'' === With one detailed and one simplified mesh === * ''RootNode'' * ''BuildingMesh'' * ''LOD_012'' * ''LOD_34'' Here, the model is rendered with the mesh ''LOD_012'' for a distance inferior to 200, and with the mesh ''LOD_34'' for a distance greater than 200. === Only for close distance === * ''RootNode'' * ''SmallPropMesh'' * ''LOD_01'' In this configuration, the mesh ''LOD_01'' is used to render the model to a distance up to 100, and then the model is hidden.