Level-of-Detail nodes are derived from a group, inheriting all group properties and adding several specialized properties for switching in/out based on camera distance. Level-of-Detail nodes tell the software when and how model switching occurs. This optimizes scenes by rendering distant objects with progressively fewer polygons or by turning off the object altogether.
In addition to floating point parameters for switching distances, Scenome has two commands, SetSwitchInDistance and SetSwitchOutDistance since it may be difficult to pick an exact distance for switching to occur. These commands enable you to set the switching distances based on visual appearance or other criteria, rather than determining a specific value.
The Level-of-Detail center is the point from which camera distance is calculated. It is important to understand this concept since camera distance determines when switching occurs. When you right click over a Level-of-Detail group in the hierarchy menu and select the CalculateLevelOfDetailCenter command, the Level-of-Detail center is set as the centroid of the Level-of-Detail bounding box. Custom values may be entered if the centroid is not suitable. There are many times when an auto-generated Level-of-Detail center will be fine for a given Level-of-Detail structure. If your Level-of-Detail nodes are not rendering properly, first check if Level-of-Detail is enabled on the view menu. Then check to see if you have a Level-of-Detail center [values of 0,0,0 are a good indicator that you do not.] Lastly, check the Switch In/Out settings.
A situation where you need to configure a Level-of-Detail center by-hand might occur when you have two Level-of-Detail group nodes with different bounding box sizes, because different bounding box sizes mean different centroid values. Even if the switching distances are perfectly concurrent, ex: High-Detail-Mesh switches out at 64 ft and Low-Detail-Mesh switches in at 64 ft, the potential difference in Level-of-Detail Center values mean the camera distances are determined from two different points. This causes a gap in-between the switch, where both models are invisible. Homogenizing the Level-of-Detail centers will correct this problem. To do this, calculate the Level-of-Detail Center for the highest resolution model and use the same values for subsequent Level-of-Details.
Use a Level-of-Detail group if you need to implement distanced-based switching. Otherwise, a group node is fine. Level-of-Detail groups are a sub-class of Group. In the long run, it really doesn't matter very much if you use Level-of-Detail groups everywhere, though the scene might require a little more memory.
Class registration and implementation information is as follows:
| Category Type | Information |
| Implementation | C++ |
| Module | GEOMETRY.DLL |
| Core | Yes |
| Class Hierarchy | Node » Group » Level-Of-Detail |
| Outgoing Dependencies | None |