User Tools

Site Tools


level-of-detail
no way to compare when less than two revisions

Differences

This shows you the differences between two versions of the page.


level-of-detail [2020/04/28 18:24] (current) – created maxime
Line 1: Line 1:
 +====== 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.
level-of-detail.txt · Last modified: 2020/04/28 18:24 by maxime

Donate Powered by PHP Valid HTML5 Valid CSS Driven by DokuWiki