Method | Description | |
---|---|---|
AddExtraVertexPositionBuffer ( |
Adds an extra vertex position buffer. As well as the main vertex buffer, the client of this class may add extra versions of the vertex buffer which will also be taken into account when the cost of simplifying the mesh is taken into account. This is because the cost of simplifying an animated mesh cannot be calculated from just the reference position, multiple positions needs to be assessed in order to find the best simplification option. DO NOT pass write-only, unshadowed buffers to this method! They will not work. Pass only shadowed buffers, or better yet perform mesh reduction as an offline process using DefaultHardwareBufferManager to manage vertex buffers in system memory. |
|
AddWorkingData ( |
Internal method for building PMWorkingData from geometry data
|
|
BakeNewLOD ( |
Internal method builds an new LOD based on the current state
|
|
Build ( ushort numLevels, List |
||
Build ( ushort numLevels, List |
||
Build ( ushort numLevels, List |
Builds the progressive mesh with the specified number of levels.
|
|
Build ( ushort numLevels, List |
||
Collapse ( PMVertex src ) : void |
Internal method, collapses vertex onto it's saved collapse target. This updates the working triangle list to drop a triangle and recalculates the edge collapse costs around the collapse target. This also updates all the working vertex lists for the relevant buffer. |
|
ComputeAllCosts ( ) : void | ||
ComputeEdgeCostAtVertex ( uint vertIndex ) : void | ||
InitialiseEdgeCollapseCosts ( ) : void | ||
ProgressiveMesh ( |
Constructor, takes the geometry data and index buffer. DO NOT pass write-only, unshadowed buffers to this method! They will not work. Pass only shadowed buffers, or better yet perform mesh reduction as an offline process using DefaultHardwareBufferManager to manage vertex buffers in system memory. |
Method | Description | |
---|---|---|
ComputeEdgeCollapseCost ( PMVertex src, PMVertex dest ) : float | ||
ComputeEdgeCostAtVertexForBuffer ( PMWorkingData workingData, uint vertIndex ) : float |
Internal method evaluates all collapse costs from this vertex and picks the lowest for a single buffer
|
|
GetNextCollapser ( ) : int |
public AddExtraVertexPositionBuffer ( |
||
vertexData | buffer Pointer to x/y/z buffer with vertex positions. /// The number of vertices must be the same as in the original GeometryData passed to the constructor. /// | |
return | void |
public AddWorkingData ( |
||
vertexData | ||
indexData | ||
return | void |
public BakeNewLOD ( |
||
indexData | Index data which will have an index buffer created and initialized | |
return | void |
public Build ( ushort numLevels, List |
||
numLevels | ushort | |
lodFaceList | List |
|
return | void |
public Build ( ushort numLevels, List |
||
numLevels | ushort | |
lodFaceList | List |
|
quota | VertexReductionQuota | |
return | void |
public Build ( ushort numLevels, List |
||
numLevels | ushort | |
lodFaceList | List |
|
quota | VertexReductionQuota | |
reductionValue | float | |
return | void |
public Build ( ushort numLevels, List |
||
numLevels | ushort | |
lodFaceList | List |
|
reductionValue | float | |
return | void |
public ComputeEdgeCostAtVertex ( uint vertIndex ) : void | ||
vertIndex | uint | |
return | void |
public InitialiseEdgeCollapseCosts ( ) : void | ||
return | void |
public ProgressiveMesh ( |
||
vertexData | ||
indexData | ||
return | System |