Skip to content

class ClusteredMeshletOptimizer

ClusteredMeshletOptimizer takes an input PackedGeometryData object, splits it into meshlets of a set size, and iteratively merges, reduces, and splits these initial meshlets into a directed acyclic graph structure containing many levels of detail which can be efficiently queried at runtime to display continuous LOD based on the camera parameters. The reduction is always run to its natural end point, which can be either that only a single meshlet remains, or more commonly that the reduction can not be taken further because of irreducible features or the used settings.

Properties

PropertyDescription
GeometryThe packed geometry data object that is processed by the tool.
MaxTrianglesPerMeshletSet the max allowed triangles per meshlet.
MaxVerticesPerMeshletSet the max allowed vertices per meshlet.
NameThe name of the ClusteredMeshletOptimizer object. (Inherited from Object)
SplitMeshletsByMaterialIf enabled, the meshlets are split by material. Any one meshlet will always only contain one material. This will cause borders between materials to be locked through reduction and hence not reduce as heavily as the tool otherwise would.
UseNonContiguousGroupingIf enabled, meshlets are allowed to be grouped non-contiguously if no contiguous options are available. This will allow deeper reduction and create more course detail levels at the cost of the meshlets no longer being guaranteed contiguous.

Methods

MethodDescription
AddObserverAdds a user-defined observer object to the interface, that will receive events from the interface. (Inherited from Object)
GetClassGet the name of the ClusteredMeshletOptimizer class. (Inherited from Object)
IsAReturns true if ClusteredMeshletOptimizer is a or is a descendant of the class named as the type parameter. (Inherited from Object)
IsNullReturns true if the ClusteredMeshletOptimizer object is invalid. (Inherited from Object)
IsSameObjectAsReturns true if the ClusteredMeshletOptimizer object is valid. (Inherited from Object)
NonNullReturns true if the ClusteredMeshletOptimizer object is valid. (Inherited from Object)
PrintInfoPrints the content/info of the ClusteredMeshletOptimizer object to the log. (Inherited from Object)
RemoveObserverRemoves a previously added observer object. (Inherited from Object)
RunRuns the tool.

Static methods

MethodDescription
IsClassAReturns true if the class is a or is a descendant of the class named as the type parameter. (Inherited from Object)
SafeCastSafeCast makes sure the input object is of a class that can be cast into spClusteredMeshletOptimizer, and if this is the case, returns the object cast into spClusteredMeshletOptimizer. (Inherited from Object)

Properties details

Geometry

The packed geometry data object that is processed by the tool.

MaxTrianglesPerMeshlet

Set the max allowed triangles per meshlet.

MaxVerticesPerMeshlet

Set the max allowed vertices per meshlet.

Name

The name of the ClusteredMeshletOptimizer object. (Inherited from Object)

SplitMeshletsByMaterial

If enabled, the meshlets are split by material. Any one meshlet will always only contain one material. This will cause borders between materials to be locked through reduction and hence not reduce as heavily as the tool otherwise would.

UseNonContiguousGrouping

If enabled, meshlets are allowed to be grouped non-contiguously if no contiguous options are available. This will allow deeper reduction and create more course detail levels at the cost of the meshlets no longer being guaranteed contiguous.

Methods details

AddObserver

Adds a user-defined observer object to the interface, that will receive events from the interface. (Inherited from Object)

GetClass

Get the name of the ClusteredMeshletOptimizer class. (Inherited from Object)

IsA

Returns true if ClusteredMeshletOptimizer is a or is a descendant of the class named as the type parameter. (Inherited from Object)

IsNull

Returns true if the ClusteredMeshletOptimizer object is invalid. (Inherited from Object)

IsSameObjectAs

Returns true if the ClusteredMeshletOptimizer object is valid. (Inherited from Object)

NonNull

Returns true if the ClusteredMeshletOptimizer object is valid. (Inherited from Object)

PrintInfo

Prints the content/info of the ClusteredMeshletOptimizer object to the log. (Inherited from Object)

RemoveObserver

Removes a previously added observer object. (Inherited from Object)

Run

Runs the tool.

Static methods details

IsClassA

Returns true if the class is a or is a descendant of the class named as the type parameter. (Inherited from Object)

SafeCast

SafeCast makes sure the input object is of a class that can be cast into spClusteredMeshletOptimizer, and if this is the case, returns the object cast into spClusteredMeshletOptimizer. (Inherited from Object)