Meshlets provide a way to render dense geometry without using a large amount of GPU memory. It works similar to Nanite in Unreal Engine by adaptively adjusting the level of detail over areas of a mesh, depending on what is visible in the render. The process requires a fairly expensive preprocessing step therefore it needs to be enabled explicitly when importing geometry (figure 1). Currently, only the OBJ format is supported in Octane Standalone. However, all mesh types are supported with Meshlets in the Octane Plugins for other DCCs. 



Meshlets



Figure 1: Activating Meshlets for imported geometry


Octane clusters a mesh into Meshlets and then reduces the amount of geometry iteratively into multiple levels of detail. The preprocessed data is stored in a cache file located in the OctaneRender® cache directory to avoid having to redo the preprocessing each time the mesh is used. During rendering, Octane makes sure the triangles are not too small or too large in image space and compared to the pixel size. This automatically limits the amount of data that is loaded into VRAM without displaying a visible difference to the original high resolution geometry. This feature is well suited for 3D scans and/or vertex displaced, subdivided geometry.


The LOD Selection Bias available in the Kernel parameters can be used to control the relationship between the camera distance and the level of detail.