From d9bdbd6020285b81adf98e23c205993e71af6e3f Mon Sep 17 00:00:00 2001 From: Bryan Galdrikian Date: Mon, 10 Jun 2019 14:37:48 -0700 Subject: Hierarchy optimization bugfixes and improvements Takes a selection set and only merges those chunks --- .../authoring/include/NvBlastExtAuthoringFractureTool.h | 9 ++++++--- 1 file changed, 6 insertions(+), 3 deletions(-) (limited to 'sdk/extensions/authoring/include/NvBlastExtAuthoringFractureTool.h') diff --git a/sdk/extensions/authoring/include/NvBlastExtAuthoringFractureTool.h b/sdk/extensions/authoring/include/NvBlastExtAuthoringFractureTool.h index b11851e..8f9e3bb 100755 --- a/sdk/extensions/authoring/include/NvBlastExtAuthoringFractureTool.h +++ b/sdk/extensions/authoring/include/NvBlastExtAuthoringFractureTool.h @@ -497,14 +497,17 @@ class FractureTool Optimize chunk hierarhy for better runtime performance. It tries to unite chunks to groups of some size in order to transform flat hierarchy (all chunks are children of single root) to tree like hieracrhy with limited number of children for each chunk. - \param[in] maxAtLevel If number of children of some chunk less then maxAtLevel then it would be considered as already + \param[in] threshold If number of children of some chunk less then maxAtLevel then it would be considered as already optimized and skipped. - \param[in] maxGroupSize Max number of children for processed chunks. \param[in] removeOriginalChunks. + \param[in] targetClusterSize Target number of children for processed chunks. + \param[in] chunksToMerge Which chunks are merge candidate. If NULL, all chunks will be a merge candidate. + \param[in] mergeChunkCount size of chunksToMerge array, if chunksToMerge != NULL. \param[in] adjChunks Optional index pairs to describe chunk adjacency. May be NULL. \param[in] adjChunksSize If 'adjChunks' is not NULL, the number of index pairs in the adjChunks array. \param[in] removeOriginalChunks If true, original chunks that are merged are removed. */ - virtual void uniteChunks(uint32_t maxAtLevel, uint32_t maxGroupSize, + virtual void uniteChunks(uint32_t threshold, uint32_t targetClusterSize, + const uint32_t* chunksToMerge, uint32_t mergeChunkCount, const NvcVec2i* adjChunks, uint32_t adjChunksSize, bool removeOriginalChunks = false) = 0; -- cgit v1.2.3