Metamorph

Inspired by Unreal Engine 1's old LOD Morph Algorithm and Unreal Engine 5's Nanite Virtual Geometry Feature, the Metamorph LOD smoothly decreases the Static Mesh's Vertices based on the pixel space the mesh uses on screen and distance to player's origin.

How does it work?


 * Metamorph can be turned on/off anytime in the settings and for each mesh!
 * If Metamorph is on, the mesh's Vertex Buffer and the Scene Manager calculate globally reusable Metamorph LOD Data
 * these global Metamorph LOD Data are then used for individual per-instance LOD calculations
 * Metamorph reads out the screen space the mesh occupies in Pixels
 * This information together with the distance to the camera origin is then used to smoothly decrease the mesh's Vertices

Pros and Cons


 * Smoothly decreases Vertices of an individual mesh based on screen space the mesh occupies and distance to player, resulting in a speed boost
 * If correctly set up, the player barely notices a change
 * However, in order to decrease the Vertex count, the Vertex data needs to be reprocessed!
 * I recommend Metamorph for complex, high polygon models where the player must not notice a change in geometry detail as much as with a Discrete LOD, where different versions of the same mesh are used w/ minimum reprocessing but accompanied with a noticable popping of different geometry detail
 * Metamorph can be combined with Discrete LODs however