From 1e887d827e65a084a0ad0ba933c61a8330aeee07 Mon Sep 17 00:00:00 2001 From: Bryan Galdrikian Date: Mon, 28 Aug 2017 13:55:34 -0700 Subject: Candidate 1.1 release. * SampleAssetViewer now unconditionally loads the commandline-defined asset. * Better error handling in AuthoringTool (stderr and user error handler). * More consistent commandline switches in AuthoringTool and ApexImporter (--ll, --tx, --px flags). * NvBlastExtAuthoring ** Mesh cleaner, tries to remove self intersections and open edges in the interior of a mesh. ** Ability to set interior material to existing (external) material, or a new material id. ** Material ID remapping API. ** Rotation of voronoi cells used for fracturing. * Fixed smoothing groups in FBX exporter code. * Impulse passing from parent to child chunks fixed. * Reading unskinned fbx meshes correctly. * Collision hull generation from fbx meshes fixed. * Win32/64 PerfTest crash fix. --- ...last_ext_authoring_fracture_tool_8h-source.html | 90 +++++++++--------- .../_nv_blast_ext_authoring_mesh_8h-source.html | 24 ++--- .../_nv_blast_ext_authoring_types_8h-source.html | 2 +- .../files/_nv_blast_ext_exporter_8h-source.html | 6 +- ..._blast_ext_impact_damage_manager_8h-source.html | 20 ++-- ...ass_nv_1_1_blast_1_1_fracture_tool-members.html | 3 + .../class_nv_1_1_blast_1_1_fracture_tool.html | 76 +++++++++++++++- ...nv_1_1_blast_1_1_i_fbx_file_reader-members.html | 6 +- .../class_nv_1_1_blast_1_1_i_fbx_file_reader.html | 2 +- ...v_1_1_blast_1_1_i_mesh_file_reader-members.html | 6 +- .../class_nv_1_1_blast_1_1_i_mesh_file_reader.html | 32 +++---- .../files/class_nv_1_1_blast_1_1_mesh-members.html | 5 +- .../files/class_nv_1_1_blast_1_1_mesh.html | 45 +++++++-- docs/api_docs/files/functions_0x62.html | 4 +- docs/api_docs/files/functions_0x64.html | 18 ++-- docs/api_docs/files/functions_0x67.html | 10 +- docs/api_docs/files/functions_0x68.html | 7 +- docs/api_docs/files/functions_0x69.html | 12 +-- docs/api_docs/files/functions_0x6d.html | 2 +- docs/api_docs/files/functions_0x72.html | 7 +- docs/api_docs/files/functions_0x73.html | 24 ++--- docs/api_docs/files/functions_0x74.html | 6 +- docs/api_docs/files/functions_0x75.html | 17 ++-- docs/api_docs/files/functions_func_0x67.html | 20 ++-- docs/api_docs/files/functions_func_0x72.html | 19 ++-- docs/api_docs/files/functions_func_0x73.html | 8 +- docs/api_docs/files/functions_vars_0x64.html | 10 +- docs/api_docs/files/functions_vars_0x68.html | 7 +- docs/api_docs/files/functions_vars_0x69.html | 4 - docs/api_docs/files/functions_vars_0x6d.html | 2 +- docs/api_docs/files/functions_vars_0x75.html | 19 ++-- docs/api_docs/files/pageauthoring.html | 101 +++++++++++++-------- docs/api_docs/files/pageimporter.html | 50 ++++++---- docs/api_docs/files/pagereleasenotes.html | 19 +++- docs/api_docs/files/pagesampleassetviewer.html | 15 ++- ..._nv_1_1_blast_1_1_authoring_result-members.html | 2 +- .../struct_nv_1_1_blast_1_1_authoring_result.html | 6 +- ..._1_1_blast_1_1_ext_impact_settings-members.html | 8 +- ...truct_nv_1_1_blast_1_1_ext_impact_settings.html | 50 +++++----- 39 files changed, 475 insertions(+), 289 deletions(-) (limited to 'docs/api_docs') diff --git a/docs/api_docs/files/_nv_blast_ext_authoring_fracture_tool_8h-source.html b/docs/api_docs/files/_nv_blast_ext_authoring_fracture_tool_8h-source.html index 7d458f3..b152b94 100644 --- a/docs/api_docs/files/_nv_blast_ext_authoring_fracture_tool_8h-source.html +++ b/docs/api_docs/files/_nv_blast_ext_authoring_fracture_tool_8h-source.html @@ -132,51 +132,57 @@ 00200 00204 virtual void setSourceMesh(const Mesh* mesh) = 0; 00205 -00209 virtual Mesh* createChunkMesh(int32_t chunkId) = 0; +00209 virtual void setInteriorMaterialId(int32_t materialId) = 0; 00210 -00215 virtual void getTransformation(physx::PxVec3& offset, float& scale) = 0; -00216 -00217 -00226 virtual int32_t voronoiFracturing(uint32_t chunkId, uint32_t cellCount, const physx::PxVec3* cellPoints, bool replaceChunk) = 0; -00227 -00239 virtual int32_t voronoiFracturing(uint32_t chunkId, uint32_t cellCount, const physx::PxVec3* cellPoints, const physx::PxVec3& scale, const physx::PxQuat& rotation, bool replaceChunk) = 0; -00240 -00241 -00252 virtual int32_t slicing(uint32_t chunkId, SlicingConfiguration conf, bool replaceChunk, RandomGeneratorBase* rnd) = 0; -00253 -00254 -00258 virtual void finalizeFracturing() = 0; -00259 -00260 virtual uint32_t getChunkCount() const = 0; -00261 -00265 virtual const ChunkInfo& getChunkInfo(int32_t chunkIndex) = 0; -00266 -00274 virtual float getMeshOverlap(const Mesh& meshA, const Mesh& meshB) = 0; -00275 -00282 virtual uint32_t getBaseMesh(int32_t chunkIndex, Triangle*& output) = 0; -00283 -00289 virtual int32_t getChunkIndex(int32_t chunkId) = 0; +00214 virtual int32_t getInteriorMaterialId() const = 0; +00215 +00219 virtual void replaceMaterialId(int32_t oldMaterialId, int32_t newMaterialId) = 0; +00220 +00224 virtual Mesh* createChunkMesh(int32_t chunkId) = 0; +00225 +00230 virtual void getTransformation(physx::PxVec3& offset, float& scale) = 0; +00231 +00232 +00241 virtual int32_t voronoiFracturing(uint32_t chunkId, uint32_t cellCount, const physx::PxVec3* cellPoints, bool replaceChunk) = 0; +00242 +00254 virtual int32_t voronoiFracturing(uint32_t chunkId, uint32_t cellCount, const physx::PxVec3* cellPoints, const physx::PxVec3& scale, const physx::PxQuat& rotation, bool replaceChunk) = 0; +00255 +00256 +00267 virtual int32_t slicing(uint32_t chunkId, SlicingConfiguration conf, bool replaceChunk, RandomGeneratorBase* rnd) = 0; +00268 +00269 +00273 virtual void finalizeFracturing() = 0; +00274 +00275 virtual uint32_t getChunkCount() const = 0; +00276 +00280 virtual const ChunkInfo& getChunkInfo(int32_t chunkIndex) = 0; +00281 +00289 virtual float getMeshOverlap(const Mesh& meshA, const Mesh& meshB) = 0; 00290 -00296 virtual int32_t getChunkId(int32_t chunkIndex) = 0; -00297 -00303 virtual int32_t getChunkDepth(int32_t chunkId) = 0; -00304 -00311 virtual uint32_t getChunksIdAtDepth(uint32_t depth, int32_t*& chunkIds) = 0; +00297 virtual uint32_t getBaseMesh(int32_t chunkIndex, Triangle*& output) = 0; +00298 +00304 virtual int32_t getChunkIndex(int32_t chunkId) = 0; +00305 +00311 virtual int32_t getChunkId(int32_t chunkIndex) = 0; 00312 -00313 -00323 virtual uint32_t getBufferedBaseMeshes(Vertex*& vertexBuffer, uint32_t*& indexBuffer, uint32_t*& indexBufferOffsets) = 0; -00324 -00329 virtual void setRemoveIslands(bool isRemoveIslands) = 0; -00330 -00336 virtual int32_t islandDetectionAndRemoving(int32_t chunkId) = 0; -00337 -00342 virtual bool isMeshContainOpenEdges(const Mesh* input) = 0; -00343 }; -00344 -00345 } // namespace Blast -00346 } // namespace Nv -00347 -00348 #endif // ifndef NVBLASTAUTHORINGFRACTURETOOL_H +00318 virtual int32_t getChunkDepth(int32_t chunkId) = 0; +00319 +00326 virtual uint32_t getChunksIdAtDepth(uint32_t depth, int32_t*& chunkIds) = 0; +00327 +00328 +00338 virtual uint32_t getBufferedBaseMeshes(Vertex*& vertexBuffer, uint32_t*& indexBuffer, uint32_t*& indexBufferOffsets) = 0; +00339 +00344 virtual void setRemoveIslands(bool isRemoveIslands) = 0; +00345 +00351 virtual int32_t islandDetectionAndRemoving(int32_t chunkId) = 0; +00352 +00357 virtual bool isMeshContainOpenEdges(const Mesh* input) = 0; +00358 }; +00359 +00360 } // namespace Blast +00361 } // namespace Nv +00362 +00363 #endif // ifndef NVBLASTAUTHORINGFRACTURETOOL_H +

+ +

+
+ + + + + + + + +
virtual int32_t Nv::Blast::FractureTool::getInteriorMaterialId (  )  const [pure virtual]
+
+
+ +

+Gets the material id to use for new interior faces

@@ -498,6 +523,35 @@ Check if input mesh contains open edges. Open edges can lead to wrong fracturing Release FractureTool memory

+ +

+
+ + + + + + + + + + + + + + + + + + +
virtual void Nv::Blast::FractureTool::replaceMaterialId (int32_t  oldMaterialId,
int32_t  newMaterialId 
) [pure virtual]
+
+
+ +

+Replaces an material id on faces with a new one +

+

@@ -517,6 +571,26 @@ Release FractureT Reset FractureTool state.

+ +

+
+ + + + + + + + + +
virtual void Nv::Blast::FractureTool::setInteriorMaterialId (int32_t  materialId  )  [pure virtual]
+
+
+ +

+Set the material id to use for new interior faces. Defaults to MATERIAL_INTERIOR +

+

@@ -559,7 +633,7 @@ Set automatic islands removing. May cause instabilities.
Para

-Set input mesh wich will be fractured, FractureTool will be reseted. +Set input mesh which will be fractured, FractureTool will be reseted.

diff --git a/docs/api_docs/files/class_nv_1_1_blast_1_1_i_fbx_file_reader-members.html b/docs/api_docs/files/class_nv_1_1_blast_1_1_i_fbx_file_reader-members.html index 860237d..c8400b0 100644 --- a/docs/api_docs/files/class_nv_1_1_blast_1_1_i_fbx_file_reader-members.html +++ b/docs/api_docs/files/class_nv_1_1_blast_1_1_i_fbx_file_reader-members.html @@ -23,12 +23,12 @@

Nv::Blast::IFbxFileReader Member List

This is the complete list of members for Nv::Blast::IFbxFileReader, including all inherited members.

- - + + - + diff --git a/docs/api_docs/files/class_nv_1_1_blast_1_1_i_fbx_file_reader.html b/docs/api_docs/files/class_nv_1_1_blast_1_1_i_fbx_file_reader.html index 1656234..c85ad5a 100644 --- a/docs/api_docs/files/class_nv_1_1_blast_1_1_i_fbx_file_reader.html +++ b/docs/api_docs/files/class_nv_1_1_blast_1_1_i_fbx_file_reader.html @@ -81,7 +81,7 @@ Return number of bones in fbx file

-Retrieve bone influence if it exist

Note:
User should call NVBLAST_FREE for out when it not needed anymore
+Retrieve bone influence if it exist, this is a bone index for each vertex in the mesh
Note:
User should call NVBLAST_FREE for out when it not needed anymore
Parameters:
getBoneCount()=0Nv::Blast::IFbxFileReader [pure virtual]
getBoneInfluences(uint32_t *&out)=0Nv::Blast::IFbxFileReader [pure virtual]
getCollision(uint32_t *&hullsOffset, CollisionHull **hulls)=0Nv::Blast::IMeshFileReader [pure virtual]
getIdicesCount() const =0Nv::Blast::IMeshFileReader [pure virtual]
getCollision(uint32_t *&hullsOffset, CollisionHull **&hulls)=0Nv::Blast::IMeshFileReader [pure virtual]
getIndexArray()=0Nv::Blast::IMeshFileReader [pure virtual]
getIndicesCount() const =0Nv::Blast::IMeshFileReader [pure virtual]
getMaterialCount()=0Nv::Blast::IMeshFileReader [pure virtual]
getMaterialIds()=0Nv::Blast::IMeshFileReader [pure virtual]
getMaterialName(int32_t id)=0Nv::Blast::IMeshFileReader [pure virtual]
getMaterialName(int32_t id)=0Nv::Blast::IMeshFileReader [pure virtual]
getNormalsArray()=0Nv::Blast::IMeshFileReader [pure virtual]
getPositionArray()=0Nv::Blast::IMeshFileReader [pure virtual]
getSmoothingGroups()=0Nv::Blast::IMeshFileReader [pure virtual]
diff --git a/docs/api_docs/files/class_nv_1_1_blast_1_1_i_mesh_file_reader-members.html b/docs/api_docs/files/class_nv_1_1_blast_1_1_i_mesh_file_reader-members.html index 9821046..9d88cb7 100644 --- a/docs/api_docs/files/class_nv_1_1_blast_1_1_i_mesh_file_reader-members.html +++ b/docs/api_docs/files/class_nv_1_1_blast_1_1_i_mesh_file_reader-members.html @@ -21,12 +21,12 @@

Nv::Blast::IMeshFileReader Member List

This is the complete list of members for Nv::Blast::IMeshFileReader, including all inherited members.

[out] out Array of bone influences.
- - + + - + diff --git a/docs/api_docs/files/class_nv_1_1_blast_1_1_i_mesh_file_reader.html b/docs/api_docs/files/class_nv_1_1_blast_1_1_i_mesh_file_reader.html index 095724e..793a2a6 100644 --- a/docs/api_docs/files/class_nv_1_1_blast_1_1_i_mesh_file_reader.html +++ b/docs/api_docs/files/class_nv_1_1_blast_1_1_i_mesh_file_reader.html @@ -38,17 +38,17 @@ Inheritance diagram for Nv::Blast::IMeshFileReader:List of all members.
getCollision(uint32_t *&hullsOffset, CollisionHull **hulls)=0Nv::Blast::IMeshFileReader [pure virtual]
getIdicesCount() const =0Nv::Blast::IMeshFileReader [pure virtual]
getCollision(uint32_t *&hullsOffset, CollisionHull **&hulls)=0Nv::Blast::IMeshFileReader [pure virtual]
getIndexArray()=0Nv::Blast::IMeshFileReader [pure virtual]
getIndicesCount() const =0Nv::Blast::IMeshFileReader [pure virtual]
getMaterialCount()=0Nv::Blast::IMeshFileReader [pure virtual]
getMaterialIds()=0Nv::Blast::IMeshFileReader [pure virtual]
getMaterialName(int32_t id)=0Nv::Blast::IMeshFileReader [pure virtual]
getMaterialName(int32_t id)=0Nv::Blast::IMeshFileReader [pure virtual]
getNormalsArray()=0Nv::Blast::IMeshFileReader [pure virtual]
getPositionArray()=0Nv::Blast::IMeshFileReader [pure virtual]
getSmoothingGroups()=0Nv::Blast::IMeshFileReader [pure virtual]
- - - + + + - + @@ -69,7 +69,7 @@ Inheritance diagram for Nv::Blast::IMeshFileReader:

Public Member Functions

virtual uint32_t getCollision (uint32_t *&hullsOffset, CollisionHull **hulls)=0
virtual uint32_t getIdicesCount () const =0
virtual uint32_t getCollision (uint32_t *&hullsOffset, CollisionHull **&hulls)=0
virtual uint32_t * getIndexArray ()=0
virtual uint32_t getIndicesCount () const =0
virtual int32_t getMaterialCount ()=0
virtual int32_t * getMaterialIds ()=0
virtual char * getMaterialName (int32_t id)=0
virtual const char * getMaterialName (int32_t id)=0
virtual physx::PxVec3 * getNormalsArray ()=0


Detailed Description

An interface for Blast mesh file reader

Member Function Documentation

- +
@@ -82,7 +82,7 @@ An interface for Blast mesh - + @@ -106,42 +106,42 @@ Retrieve collision geometry if it exist
Note:

- +

CollisionHull ** CollisionHull **&  hulls 
- + - +
virtual uint32_t Nv::Blast::IMeshFileReader::getIdicesCount virtual uint32_t* Nv::Blast::IMeshFileReader::getIndexArray (  )  const [pure virtual] [pure virtual]

-Number of loaded indices +Get loaded triangle indices

- +

- + - +
virtual uint32_t* Nv::Blast::IMeshFileReader::getIndexArray virtual uint32_t Nv::Blast::IMeshFileReader::getIndicesCount (  )  [pure virtual] const [pure virtual]

-Get loaded triangle indices +Number of loaded indices

@@ -182,12 +182,12 @@ Get material count. Get loaded per triangle material ids.

- +

- + diff --git a/docs/api_docs/files/class_nv_1_1_blast_1_1_mesh-members.html b/docs/api_docs/files/class_nv_1_1_blast_1_1_mesh-members.html index a18ddea..fb23c4e 100644 --- a/docs/api_docs/files/class_nv_1_1_blast_1_1_mesh-members.html +++ b/docs/api_docs/files/class_nv_1_1_blast_1_1_mesh-members.html @@ -38,8 +38,9 @@ - - + + +
virtual char* Nv::Blast::IMeshFileReader::getMaterialName virtual const char* Nv::Blast::IMeshFileReader::getMaterialName ( int32_t  id
isValid() const =0Nv::Blast::Mesh [pure virtual]
recalculateBoundingBox()=0Nv::Blast::Mesh [pure virtual]
release()=0Nv::Blast::Mesh [pure virtual]
setMaterialId(int32_t *materialIds)=0Nv::Blast::Mesh [pure virtual]
setSmoothingGroup(int32_t *smoothingGroup)=0Nv::Blast::Mesh [pure virtual]
replaceMaterialId(int32_t oldMaterialId, int32_t newMaterialId)=0Nv::Blast::Mesh [pure virtual]
setMaterialId(const int32_t *materialIds)=0Nv::Blast::Mesh [pure virtual]
setSmoothingGroup(const int32_t *smoothingGroups)=0Nv::Blast::Mesh [pure virtual]
~Mesh()Nv::Blast::Mesh [inline, virtual]
diff --git a/docs/api_docs/files/class_nv_1_1_blast_1_1_mesh.html b/docs/api_docs/files/class_nv_1_1_blast_1_1_mesh.html index 3dcb8d4..0d7a665 100644 --- a/docs/api_docs/files/class_nv_1_1_blast_1_1_mesh.html +++ b/docs/api_docs/files/class_nv_1_1_blast_1_1_mesh.html @@ -63,9 +63,11 @@ virtual void release ()=0 -virtual void setMaterialId (int32_t *materialIds)=0 +virtual void replaceMaterialId (int32_t oldMaterialId, int32_t newMaterialId)=0 -virtual void setSmoothingGroup (int32_t *smoothingGroup)=0 +virtual void setMaterialId (const int32_t *materialIds)=0 + +virtual void setSmoothingGroup (const int32_t *smoothingGroups)=0 virtual ~Mesh () @@ -417,14 +419,43 @@ Recalculate bounding box Release Mesh memory

- + +

+
+ + + + + + + + + + + + + + + + + + +
virtual void Nv::Blast::Mesh::replaceMaterialId (int32_t  oldMaterialId,
int32_t  newMaterialId 
) [pure virtual]
+
+
+ +

+Replaces an material id on faces with a new one +

+

+

- + @@ -437,15 +468,15 @@ Release Mesh memory Set per-facet material id.

- +

virtual void Nv::Blast::Mesh::setMaterialId (int32_t * const int32_t *  materialIds  )  [pure virtual]
- - + + diff --git a/docs/api_docs/files/functions_0x62.html b/docs/api_docs/files/functions_0x62.html index b4cebaa..048add4 100644 --- a/docs/api_docs/files/functions_0x62.html +++ b/docs/api_docs/files/functions_0x62.html @@ -72,10 +72,10 @@ Here is a list of all class members with links to the classes they belong to:
  • bondDescs : Nv::Blast::AuthoringResult , NvBlastAssetDesc -
  • BondFlags -: Nv::Blast::TkAssetDesc
  • bondFlags : Nv::Blast::TkAssetDesc +
  • BondFlags +: Nv::Blast::TkAssetDesc
  • bondFractureCount : NvBlastFractureBuffers
  • bondFractures diff --git a/docs/api_docs/files/functions_0x64.html b/docs/api_docs/files/functions_0x64.html index d34dece..32e5d48 100644 --- a/docs/api_docs/files/functions_0x64.html +++ b/docs/api_docs/files/functions_0x64.html @@ -70,29 +70,31 @@ Here is a list of all class members with links to the classes they belong to: , Nv::Blast::TkActor , NvBlastExtSegmentRadialDamageDesc , Nv::Blast::TkActor -
  • damageAttenuation -: Nv::Blast::ExtImpactSettings
  • damageDescBuffer : NvBlastProgramParams
  • damageDescCount : NvBlastProgramParams +
  • damageFalloffRadiusFactor +: Nv::Blast::ExtImpactSettings
  • damageFunction : Nv::Blast::ExtImpactSettings
  • damageFunctionData : Nv::Blast::ExtImpactSettings -
  • damageMax -: Nv::Blast::ExtImpactSettings
  • damageRadiusMax : Nv::Blast::ExtImpactSettings +
  • damageThresholdMax +: Nv::Blast::ExtImpactSettings +
  • damageThresholdMin +: Nv::Blast::ExtImpactSettings
  • data -: Nv::Blast::ExtSyncEventPhysicsSync +: Nv::Blast::ExtProfileData +, Nv::Blast::ExtSyncEventPhysicsSync , NvBlastID -, Nv::Blast::ExtProfileData
  • dataType : NvBlastDataBlock
  • deallocate() -: Nv::Blast::AllocatorCallback -, Nv::Blast::Allocator +: Nv::Blast::Allocator +, Nv::Blast::AllocatorCallback
  • Debug : NvBlastMessage
  • DebugLine() diff --git a/docs/api_docs/files/functions_0x67.html b/docs/api_docs/files/functions_0x67.html index 0a513aa..dd77b0a 100644 --- a/docs/api_docs/files/functions_0x67.html +++ b/docs/api_docs/files/functions_0x67.html @@ -135,7 +135,7 @@ Here is a list of all class members with links to the classes they belong to:
  • getChunksIdAtDepth() : Nv::Blast::FractureTool
  • getCollision() -: Nv::Blast::IMeshFileReader +: Nv::Blast::IMeshFileReader
  • getCollisionGeometry() : Nv::Blast::ApexImporter::ApexImportTool
  • getData() @@ -187,12 +187,14 @@ Here is a list of all class members with links to the classes they belong to: : Nv::Blast::TkActor
  • getID() : Nv::Blast::TkIdentifiable -
  • getIdicesCount() -: Nv::Blast::IMeshFileReader
  • getIndex() : Nv::Blast::TkActor
  • getIndexArray() : Nv::Blast::IMeshFileReader +
  • getIndicesCount() +: Nv::Blast::IMeshFileReader +
  • getInteriorMaterialId() +: Nv::Blast::FractureTool
  • getIterationsPerFrame() : Nv::Blast::ExtStressSolver
  • getJointCount() @@ -212,7 +214,7 @@ Here is a list of all class members with links to the classes they belong to:
  • getMaterialIds() : Nv::Blast::IMeshFileReader
  • getMaterialName() -: Nv::Blast::IMeshFileReader +: Nv::Blast::IMeshFileReader
  • getMeshOverlap() : Nv::Blast::FractureTool
  • getMeshVolume() diff --git a/docs/api_docs/files/functions_0x68.html b/docs/api_docs/files/functions_0x68.html index 9624851..2ebd9b2 100644 --- a/docs/api_docs/files/functions_0x68.html +++ b/docs/api_docs/files/functions_0x68.html @@ -63,11 +63,12 @@ Here is a list of all class members with links to the classes they belong to:

    - h -

    diff --git a/docs/api_docs/files/functions_0x6d.html b/docs/api_docs/files/functions_0x6d.html index 5c00e89..ee178e4 100644 --- a/docs/api_docs/files/functions_0x6d.html +++ b/docs/api_docs/files/functions_0x6d.html @@ -75,7 +75,7 @@ Here is a list of all class members with links to the classes they belong to: , Nv::Blast::Triangle , Nv::Blast::TriangleIndexed
  • materialNames -: Nv::Blast::AuthoringResult +: Nv::Blast::AuthoringResult
  • maxDamageThreshold : NvBlastExtMaterial
  • maximum diff --git a/docs/api_docs/files/functions_0x72.html b/docs/api_docs/files/functions_0x72.html index 17df46f..566e8a4 100644 --- a/docs/api_docs/files/functions_0x72.html +++ b/docs/api_docs/files/functions_0x72.html @@ -81,10 +81,10 @@ Here is a list of all class members with links to the classes they belong to: , Nv::Blast::ExtPxFamily , Nv::Blast::ExtPxManager , Nv::Blast::FractureTool -, Nv::Blast::TkObject -, Nv::Blast::TkFramework , Nv::Blast::ExtPxStressSolver , Nv::Blast::ExtGroupTaskManager +, Nv::Blast::TkObject +, Nv::Blast::TkFramework , Nv::Blast::Mesh , Nv::Blast::ExtSyncEvent , Nv::Blast::ExtSync @@ -105,6 +105,9 @@ Here is a list of all class members with links to the classes they belong to: : Nv::Blast::TkFamily
  • reorderAssetDescChunks() : Nv::Blast::TkFramework +
  • replaceMaterialId() +: Nv::Blast::FractureTool +, Nv::Blast::Mesh
  • reportError() : Nv::Blast::ErrorCallback
  • requestBuffer() diff --git a/docs/api_docs/files/functions_0x73.html b/docs/api_docs/files/functions_0x73.html index 280c911..f04e73e 100644 --- a/docs/api_docs/files/functions_0x73.html +++ b/docs/api_docs/files/functions_0x73.html @@ -90,11 +90,13 @@ Here is a list of all class members with links to the classes they belong to: : Nv::Blast::ExtGroupTaskManager
  • setID() : Nv::Blast::TkIdentifiable +
  • setInteriorMaterialId() +: Nv::Blast::FractureTool
  • setMaterial() -: Nv::Blast::TkFamily -, Nv::Blast::ExtPxFamily +: Nv::Blast::ExtPxFamily +, Nv::Blast::TkFamily
  • setMaterialId() -: Nv::Blast::Mesh +: Nv::Blast::Mesh
  • setNodeInfo() : Nv::Blast::ExtStressSolver
  • setPlatformEnabled() @@ -111,7 +113,7 @@ Here is a list of all class members with links to the classes they belong to: : Nv::Blast::ExtImpactDamageManager , Nv::Blast::ExtStressSolver
  • setSmoothingGroup() -: Nv::Blast::Mesh +: Nv::Blast::Mesh
  • setSourceMesh() : Nv::Blast::FractureTool
  • setStencil() @@ -151,8 +153,8 @@ Here is a list of all class members with links to the classes they belong to:
  • stressLinearFactor : Nv::Blast::ExtStressSolverSettings
  • subchunkCount -: Nv::Blast::ExtPxChunk -, Nv::Blast::ExtPxAssetDesc::ExtPxAssetDesc::ChunkDesc +: Nv::Blast::ExtPxAssetDesc::ExtPxAssetDesc::ChunkDesc +, Nv::Blast::ExtPxChunk
  • subchunks : Nv::Blast::ExtPxAssetDesc::ExtPxAssetDesc::ChunkDesc
  • subgraphShaderFunction @@ -164,12 +166,12 @@ Here is a list of all class members with links to the classes they belong to:
  • submeshOffsets : Nv::Blast::ExporterMeshData
  • subscribe() -: Nv::Blast::ExtPxFamily -, Nv::Blast::ExtPxManager -
  • subtype -: Nv::Blast::TkJointUpdateEvent +: Nv::Blast::ExtPxManager +, Nv::Blast::ExtPxFamily
  • Subtype : Nv::Blast::TkJointUpdateEvent +
  • subtype +: Nv::Blast::TkJointUpdateEvent
  • supportChunkHealths : NvBlastGraphShaderActor
  • SupportFlag @@ -177,7 +179,7 @@ Here is a list of all class members with links to the classes they belong to:
  • surfaceResolution : Nv::Blast::SlicingConfiguration
  • syncFamily() -: Nv::Blast::ExtSync +: Nv::Blast::ExtSync diff --git a/docs/api_docs/files/functions_0x74.html b/docs/api_docs/files/functions_0x74.html index e69a69f..7129ab6 100644 --- a/docs/api_docs/files/functions_0x74.html +++ b/docs/api_docs/files/functions_0x74.html @@ -89,15 +89,15 @@ Here is a list of all class members with links to the classes they belong to: : Nv::Blast::PlaneChunkIndexer
  • trimCollisionGeometry() : Nv::Blast::ConvexMeshBuilder +
  • type +: Nv::Blast::ExtSyncEvent
  • Type : NvBlastDataBlock +, Nv::Blast::TkEvent
  • type : Nv::Blast::TkEvent
  • Type : NvBlastMessage -, Nv::Blast::TkEvent -
  • type -: Nv::Blast::ExtSyncEvent
  • TypeCount : Nv::Blast::TkTypeIndex , Nv::Blast::TkEvent diff --git a/docs/api_docs/files/functions_0x75.html b/docs/api_docs/files/functions_0x75.html index 45402d5..734fce2 100644 --- a/docs/api_docs/files/functions_0x75.html +++ b/docs/api_docs/files/functions_0x75.html @@ -76,23 +76,22 @@ Here is a list of all class members with links to the classes they belong to:
  • update() : Nv::Blast::ExtStressSolver , Nv::Blast::ExtPxStressSolver -
  • userData -: Nv::Blast::TkActorData -, NvBlastChunk -, Nv::Blast::ExtPxFamily -, NvBlastBond -, Nv::Blast::Facet
  • userdata : NvBlastChunkFractureData
  • userData -: Nv::Blast::Triangle +: NvBlastChunkDesc +, NvBlastBond +, Nv::Blast::TkActorData +, Nv::Blast::ExtPxFamily +, Nv::Blast::Triangle +, Nv::Blast::Facet +, Nv::Blast::TriangleIndexed
  • userdata : NvBlastBondFractureData
  • userData : Nv::Blast::TkObject -, NvBlastChunkDesc +, NvBlastChunk , Nv::Blast::ExtPxAsset -, Nv::Blast::TriangleIndexed
  • userIntData : Nv::Blast::TkIdentifiable
  • uv diff --git a/docs/api_docs/files/functions_func_0x67.html b/docs/api_docs/files/functions_func_0x67.html index 34f9494..9f790d3 100644 --- a/docs/api_docs/files/functions_func_0x67.html +++ b/docs/api_docs/files/functions_func_0x67.html @@ -124,7 +124,7 @@
  • getChunksIdAtDepth() : Nv::Blast::FractureTool
  • getCollision() -: Nv::Blast::IMeshFileReader +: Nv::Blast::IMeshFileReader
  • getCollisionGeometry() : Nv::Blast::ApexImporter::ApexImportTool
  • getData() @@ -176,14 +176,16 @@ : Nv::Blast::TkActor
  • getID() : Nv::Blast::TkIdentifiable -
  • getIdicesCount() -: Nv::Blast::IMeshFileReader
  • getIndex() : Nv::Blast::TkActor
  • getIndexArray() : Nv::Blast::IMeshFileReader +
  • getIndicesCount() +: Nv::Blast::IMeshFileReader +
  • getInteriorMaterialId() +: Nv::Blast::FractureTool
  • getIterationsPerFrame() -: Nv::Blast::ExtStressSolver +: Nv::Blast::ExtStressSolver
  • getJointCount() : Nv::Blast::TkActor
  • getJointDescCount() @@ -201,7 +203,7 @@
  • getMaterialIds() : Nv::Blast::IMeshFileReader
  • getMaterialName() -: Nv::Blast::IMeshFileReader +: Nv::Blast::IMeshFileReader
  • getMeshOverlap() : Nv::Blast::FractureTool
  • getMeshVolume() @@ -273,8 +275,8 @@
  • getTransformation() : Nv::Blast::FractureTool
  • getType() -: Nv::Blast::TkFramework -, Nv::Blast::TkIdentifiable +: Nv::Blast::TkIdentifiable +, Nv::Blast::TkFramework
  • getUvArray() : Nv::Blast::IMeshFileReader
  • getVersion() @@ -282,8 +284,8 @@
  • getVertices() : Nv::Blast::Mesh
  • getVerticesCount() -: Nv::Blast::Mesh -, Nv::Blast::IMeshFileReader +: Nv::Blast::IMeshFileReader +, Nv::Blast::Mesh
  • getVerticesWritable() : Nv::Blast::Mesh
  • getVisibleChunkCount() diff --git a/docs/api_docs/files/functions_func_0x72.html b/docs/api_docs/files/functions_func_0x72.html index c064fe4..fe7ebfb 100644 --- a/docs/api_docs/files/functions_func_0x72.html +++ b/docs/api_docs/files/functions_func_0x72.html @@ -73,21 +73,21 @@ , Nv::Blast::FractureTool , Nv::Blast::ExtPxManager , Nv::Blast::ExtPxStressSolver -, Nv::Blast::TkObject -, Nv::Blast::TkFramework , Nv::Blast::Mesh -, Nv::Blast::ExtSerialization -, Nv::Blast::ExtSync , Nv::Blast::ExtGroupTaskManager +, Nv::Blast::TkObject +, Nv::Blast::TkFramework , Nv::Blast::ExtSyncEvent , Nv::Blast::MeshCleaner +, Nv::Blast::ExtSync +, Nv::Blast::ExtSerialization , Nv::Blast::BlastBondGenerator , Nv::Blast::AuthoringResult , Nv::Blast::ExtStressSolver -, Nv::Blast::ExtImpactDamageManager -, Nv::Blast::IMeshFileWriter , Nv::Blast::IMeshFileReader , Nv::Blast::ConvexMeshBuilder +, Nv::Blast::IMeshFileWriter +, Nv::Blast::ExtImpactDamageManager
  • releaseCollisionHulls() : Nv::Blast::AuthoringResult
  • releaseSyncBuffer() @@ -98,13 +98,16 @@ : Nv::Blast::TkFamily
  • reorderAssetDescChunks() : Nv::Blast::TkFramework +
  • replaceMaterialId() +: Nv::Blast::FractureTool +, Nv::Blast::Mesh
  • reportError() : Nv::Blast::ErrorCallback
  • requestBuffer() : Nv::Blast::ExtSerialization::ExtSerialization::BufferProvider
  • reset() -: Nv::Blast::ExtStressSolver -, Nv::Blast::FractureTool +: Nv::Blast::FractureTool +, Nv::Blast::ExtStressSolver
  • returnWorker() : Nv::Blast::TkGroup diff --git a/docs/api_docs/files/functions_func_0x73.html b/docs/api_docs/files/functions_func_0x73.html index 3cd2f90..dd18536 100644 --- a/docs/api_docs/files/functions_func_0x73.html +++ b/docs/api_docs/files/functions_func_0x73.html @@ -81,11 +81,13 @@ : Nv::Blast::ExtGroupTaskManager
  • setID() : Nv::Blast::TkIdentifiable +
  • setInteriorMaterialId() +: Nv::Blast::FractureTool
  • setMaterial() : Nv::Blast::ExtPxFamily , Nv::Blast::TkFamily
  • setMaterialId() -: Nv::Blast::Mesh +: Nv::Blast::Mesh
  • setNodeInfo() : Nv::Blast::ExtStressSolver
  • setPlatformEnabled() @@ -102,7 +104,7 @@ : Nv::Blast::ExtImpactDamageManager , Nv::Blast::ExtStressSolver
  • setSmoothingGroup() -: Nv::Blast::Mesh +: Nv::Blast::Mesh
  • setSourceMesh() : Nv::Blast::FractureTool
  • setStencil() @@ -123,7 +125,7 @@ : Nv::Blast::ExtPxManager , Nv::Blast::ExtPxFamily
  • syncFamily() -: Nv::Blast::ExtSync +: Nv::Blast::ExtSync diff --git a/docs/api_docs/files/functions_vars_0x64.html b/docs/api_docs/files/functions_vars_0x64.html index 05236b3..4198cca 100644 --- a/docs/api_docs/files/functions_vars_0x64.html +++ b/docs/api_docs/files/functions_vars_0x64.html @@ -67,20 +67,22 @@ : NvBlastExtRadialDamageDesc , NvBlastExtShearDamageDesc , NvBlastExtSegmentRadialDamageDesc -
  • damageAttenuation -: Nv::Blast::ExtImpactSettings
  • damageDescBuffer : NvBlastProgramParams
  • damageDescCount : NvBlastProgramParams +
  • damageFalloffRadiusFactor +: Nv::Blast::ExtImpactSettings
  • damageFunction : Nv::Blast::ExtImpactSettings
  • damageFunctionData : Nv::Blast::ExtImpactSettings -
  • damageMax -: Nv::Blast::ExtImpactSettings
  • damageRadiusMax : Nv::Blast::ExtImpactSettings +
  • damageThresholdMax +: Nv::Blast::ExtImpactSettings +
  • damageThresholdMin +: Nv::Blast::ExtImpactSettings
  • data : Nv::Blast::ExtSyncEventPhysicsSync , NvBlastID diff --git a/docs/api_docs/files/functions_vars_0x68.html b/docs/api_docs/files/functions_vars_0x68.html index ddb6c6e..a1bfd14 100644 --- a/docs/api_docs/files/functions_vars_0x68.html +++ b/docs/api_docs/files/functions_vars_0x68.html @@ -62,11 +62,12 @@

    - h -

    • hardness -: Nv::Blast::ExtStressSolverSettings +: Nv::Blast::ExtImpactSettings +, Nv::Blast::ExtStressSolverSettings
    • health -: NvBlastExtMaterial +: NvBlastChunkFractureData , NvBlastBondFractureData -, NvBlastChunkFractureData +, NvBlastExtMaterial
    • hulls : Nv::Blast::ExporterMeshData
    • hullsOffsets diff --git a/docs/api_docs/files/functions_vars_0x69.html b/docs/api_docs/files/functions_vars_0x69.html index 65b7d9f..fe0f027 100644 --- a/docs/api_docs/files/functions_vars_0x69.html +++ b/docs/api_docs/files/functions_vars_0x69.html @@ -61,10 +61,6 @@  

      - i -

        -
      • impulseMaxThreshold -: Nv::Blast::ExtImpactSettings -
      • impulseMinThreshold -: Nv::Blast::ExtImpactSettings
      • index : Nv::Blast::TkActorData
      • infSearchMode diff --git a/docs/api_docs/files/functions_vars_0x6d.html b/docs/api_docs/files/functions_vars_0x6d.html index 0da9004..c83820a 100644 --- a/docs/api_docs/files/functions_vars_0x6d.html +++ b/docs/api_docs/files/functions_vars_0x6d.html @@ -74,7 +74,7 @@ , Nv::Blast::Triangle , Nv::Blast::TriangleIndexed
      • materialNames -: Nv::Blast::AuthoringResult +: Nv::Blast::AuthoringResult
      • maxDamageThreshold : NvBlastExtMaterial
      • maximum diff --git a/docs/api_docs/files/functions_vars_0x75.html b/docs/api_docs/files/functions_vars_0x75.html index f0b1ee7..46bca4f 100644 --- a/docs/api_docs/files/functions_vars_0x75.html +++ b/docs/api_docs/files/functions_vars_0x75.html @@ -65,22 +65,21 @@ : NvBlastActorDesc
      • uniformInitialLowerSupportChunkHealth : NvBlastActorDesc +
      • userData +: Nv::Blast::TriangleIndexed +, NvBlastChunk +, NvBlastBond
      • userdata : NvBlastBondFractureData +, NvBlastChunkFractureData
      • userData -: Nv::Blast::ExtPxAsset -, Nv::Blast::ExtPxFamily -, Nv::Blast::TkObject +: Nv::Blast::TkObject , Nv::Blast::TkActorData +, Nv::Blast::Facet , NvBlastChunkDesc -, NvBlastBond , Nv::Blast::Triangle -, NvBlastChunk -
      • userdata -: NvBlastChunkFractureData -
      • userData -: Nv::Blast::Facet -, Nv::Blast::TriangleIndexed +, Nv::Blast::ExtPxFamily +, Nv::Blast::ExtPxAsset
      • userIntData : Nv::Blast::TkIdentifiable
      • uv diff --git a/docs/api_docs/files/pageauthoring.html b/docs/api_docs/files/pageauthoring.html index f3ff47e..0cb41db 100644 --- a/docs/api_docs/files/pageauthoring.html +++ b/docs/api_docs/files/pageauthoring.html @@ -20,46 +20,36 @@
        -

        AuthoringTool

        The application AuthoringTool is a command-line asset authoring utility. It reads a file containing a single graphics mesh (currently .fbx and .obj format are supported in this tool), and fractures it according to the parameters given in the command line. The user can configure the output of the tool. It can save render mesh geometry to .fbx or .obj files.

        -Additionally, the user can choose how Blast™ data should be saved:

        -1) BPXA-asset which incorporates Blast™ data and collision geometry for physics engine.

        -2) LL-asset which is Low Level asset data

        -3) Tk-asset which is Toolkit asset data

        -BPXA and .obj files may be consumed by the SampleAssetViewer.

        +

        AuthoringTool

        The application AuthoringTool is a command-line asset authoring utility. It reads a file containing a single graphics mesh (currently .fbx and .obj format are supported in this tool), and fractures it according to the parameters given in the command line. The user can configure the output of the tool. It can save render mesh geometry to .fbx or .obj files. It also optionally could save collision geometry in the same .fbx file.

        +Additionally, the user can choose how Blast™ data should be saved (in .blast file):

        +1) LL-asset which is Low Level asset data (NvBlastAsset). Default mode.

        +2) Tk-asset which is Toolkit asset data (Nv::Blast::TkAsset).

        +3) ExtPx-asset which incorporates Blast™ data and collision geometry for physics engine (Nv::Blast::ExtPxAsset).

        +.blast and .obj files may be consumed by the SampleAssetViewer.

         
        -USAGE:
         
        -   AuthoringTool  <infile> <output asset name> [--ovar <by default 0.0>] [--avar <by default 0.0>] [--slices <by default 1 1 1>] [--radius <by default 1.0>]
        -                                      	       [--clusters <by default 5>][--cells <by default 5>] [--mode <v - voronoi, c - clustered voronoi, s - slicing.>] 
        -											   [--block] [--proto]
        -                                       	       [--fbx] [--obj] [--fbxascii]
        -                                               [--ue4] [--ll] [--tk] [--bpxa]
        -                                               [--outputDir <by default directory of the input file>] [--]
        -                                               [--version] [-h]  
         
        +USAGE: 
         
        -Where:
        +   AuthoringTool_x64.exe  [--ovar <by default
        +                            0.0>] [--avar <by default 0.0>]
        +                            [--slices <by default 1 1 1>]
        +                            [--radius <by default 1.0>]
        +                            [--clusters <by default 5>]
        +                            [--cells <by default 5>] [--mode <v
        +                            - voronoi, c - clustered voronoi, s
        +                            - slicing.>] [--nonskinned]
        +                            [--fbxcollision] [--fbx] [--obj]
        +                            [--fbxascii] [--tk] [--px]
        +                            [--clean] [--outputDir <by default
        +                            directory of the input file>] [--]
        +                            [--version] [-h] <infile> <output
        +                            asset name>
         
        -   Blast data output mode:
         
        -  	 --bpxa output BPXA asset
        -   	 --tk   output Toolkit asset
        -  	 --ll   output Low Level asset
        +Where: 
         
        -   Blast data serialization mode:
        -   
        -	 --block - Serialize Blast asset as continuous block of memory	 
        -	 --proto - Serialize Blast asset with CapnProto
        -	 
        -   Render mesh geometry output mode:
        -
        -	--fbx Output render mesh to .fbx file
        -	--obj Output render mesh to .obj file
        -	
        -		   
        -   --ue4 Enable output FBX with UE4 coordinate system	
        -	
            --ovar <by default 0.0>
              Slicing offset variation
         
        @@ -69,6 +59,9 @@ Where:
            --slices <by default 1 1 1>
              Number of slices per direction
         
        +   --radius <by default 1.0>
        +     Clustered Voronoi cluster radius
        +
            --clusters <by default 5>
              Uniform Voronoi cluster count
         
        @@ -77,13 +70,35 @@ Where:
         
            --mode <v - voronoi, c - clustered voronoi, s - slicing.>
              Fracturing mode
        -   
        -   --radius <by default 0.5> 
        -	 Cluster radius for clustered Voronoi fracturing mode.
         
        -   --outputDir <output directory>
        -	 Result output directory. If is not specified, result will be saved to folder with input file.
        +   --nonskinned
        +     Output a non-skinned FBX file
        +
        +   --fbxcollision
        +     Add collision geometry to FBX file
        +
        +   --fbx
        +     Output a FBX mesh to the output directory
        +
        +   --obj
        +     Output a OBJ mesh to the output directory
        +
        +   --fbxascii
        +     Output FBX as an ascii file (defaults to binary output)
        +
        +   --tk
        +     Output TkAsset to the .blast file in the output directory instead of
        +     LL Blast asset (NvBlastAsset).
        +
        +   --px
        +     Output ExtPxAsset to the .blast file in the output directory instead
        +     of LL Blast asset (NvBlastAsset).
         
        +   --clean
        +     Try cleaning mesh before fracturing
        +
        +   --outputDir <by default directory of the input file>
        +     Output directory
         
            --,  --ignore_rest
              Ignores the rest of the labeled arguments following this flag.
        @@ -94,6 +109,18 @@ Where:
            -h,  --help
              Displays usage information and exits.
         
        +   <infile>
        +     (required)  File to load
        +
        +   <output asset name>
        +     (required)  Output asset name
        +
        +
        +   Blast SDK: Authoring Tool
        +
        +
        +
        +
         


        See Copyrights for license information regarding third-party software used by ApexImporter.

        diff --git a/docs/api_docs/files/pageimporter.html b/docs/api_docs/files/pageimporter.html index 0a0ad79..d520352 100644 --- a/docs/api_docs/files/pageimporter.html +++ b/docs/api_docs/files/pageimporter.html @@ -25,23 +25,29 @@

        A bond is not created if the area of interface is zero. The interface centroid is computed as center of mass of all interface polygon points. The interface normal is computed as an average of normals of all planes comprising the interface surface.

        Note - for Blast™ to operate with satisfactory fracturing behavior, it does not require exact area, centroid, and normal values for Bonds.

        -Along with creating a Blast™ asset, ApexImporter creates an *.obj or *.fbx file with description of chunk render geometry. Blast™ asset data can be saved to *.llasset, *.tkasset or *.bpxa format. BPXA asset contains collision geometry and can be used in SampleAssetViewer.

        +Along with creating a Blast™ asset (*.blast), ApexImporter creates an *.obj or *.fbx file with description of chunk render geometry. Optionally the *.fbx file can store the collision geometry.

        +Blast™ asset data can be saved in different ways:

        +1) LL-asset which is Low Level asset data (NvBlastAsset with --ll).

        +2) Tk-asset which is Toolkit asset data (Nv::Blast::TkAsset with --tk).

        +3) ExtPx-asset which incorporates Blast™ data and collision geometry for physics engine (Nv::Blast::ExtPxAsset with --px). Default mode.

        +ExtPxAsset assets or *.fbx files that contain collision geometry and can be used in SampleAssetViewer.

         USAGE:
         
        -		ApexImporter -f <infile> -n <output asset name>
        -			     [--fbx] [--obj][--fbxascii] [--ue4] [--ll] [--tk]
        -                             [--bpxa] [-d] [-m <0 - EXACT, 1 - FORCED>] 
        -			     [-o <output directory>] [--] [--version] [-h]
        +   ApexImporter  [--nonskinned] [--fbxcollision] [--fbx] [--obj]
        +                 [--fbxascii] [--ll] [--tk] [--px] [-d] [-m <0 -
        +                 EXACT, 1 - FORCED, for detailed description see
        +                 docs.>] -n <output asset name> [-o <output
        +                 directory>] -f <infile> [--] [--version] [-h]
         
         
        -Where: 
        +Where:
         
        -   -f <infile>,  --file <infile>
        -     (required)  File to load
        +   --nonskinned
        +     Output a non-skinned FBX file
         
        -   -n <output asset name>,  --outAssetName <output asset name>
        -     (required)  Output asset name
        +   --fbxcollision
        +     Append collision geometry to FBX file
         
            --fbx
              Output a FBX mesh to the output directory
        @@ -52,26 +58,30 @@ Where:
            --fbxascii
              Output FBX as an ascii file (defaults to binary output)
         
        -   --ue4
        -     Output FBX with UE4 coordinate system
        -
            --ll
        -     Output LL Blast asset to the output directory (ext: llasset)
        +     Output LL Blast asset to the output directory
         
            --tk
        -     Output TkAsset to the output directory (ext: tkasset)
        +     Output TkAsset to the output directory
         
        -   --bpxa
        -     Output ExtPxAsset to the output directory (ext: bpxa)
        +   --px
        +     Output ExtPxAsset to the output directory
         
            -d,  --debug
              Print debug output
         
        -   -m <0 - EXACT, 1 - FORCED>,  --mode <0 - EXACT, 1 - FORCED>,
        +   -m <0 - EXACT, 1 - FORCED, for detailed description see docs.>,  --mode
        +      <0 - EXACT, 1 - FORCED, for detailed description see docs.>
              Interface search mode
         
        +   -n <output asset name>,  --outAssetName <output asset name>
        +     (required)  Output asset name
        +
            -o <output directory>,  --outputDir <output directory>
        -     Result output directory. If is not specified, result will be saved to folder with input file.
        +     Output directory
        +
        +   -f <infile>,  --file <infile>
        +     (required)  File to load
         
            --,  --ignore_rest
              Ignores the rest of the labeled arguments following this flag.
        @@ -81,7 +91,7 @@ Where:
         
            -h,  --help
              Displays usage information and exits.
        -
        +     
         


        See Copyrights for license information regarding third-party software used by ApexImporter.

        diff --git a/docs/api_docs/files/pagereleasenotes.html b/docs/api_docs/files/pagereleasenotes.html index ee4735b..e7cb983 100644 --- a/docs/api_docs/files/pagereleasenotes.html +++ b/docs/api_docs/files/pagereleasenotes.html @@ -24,7 +24,7 @@ ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// -Blast(tm) SDK 1.1 (28-Jul-2017) +Blast(tm) SDK 1.1 (25-Aug-2017) ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// Changes @@ -63,6 +63,8 @@ NvBlastExtImpactDamageManager. * NvBlastExtShearGraphShader uses a chunk-based method to find the closest graph node, improving performance. * TkGroup no longer uses physx::PxTaskManager interface for task management. Instead, a TkGroupWorker interface has been added. The NvBlastExtPhysX extension uses the physx::PxTaskManager to implement this interface. +* Better error handling in AuthoringTool (stderr and user error handler). +* More consistent commandline switches in AuthoringTool and ApexImporter (--ll, --tk, --px flags). * Various small clean-ups. New Features @@ -73,6 +75,7 @@ New Features ** Transform an NvBlastAsset's geometric data in-place. * NvBlastExtAuthoring ** Open edge detection. +** Rotation of voronoi cells used for fracturing. * "Globals" code (under sdk/globals). Includes a global allocator, message handler, and profiler API used by TkFramework and extensions. * NvBlastExtStress extension, a PhysX-independent API for performing stress calculations with low-level Blast actors. @@ -88,7 +91,10 @@ in one of three ways: * LegacyConverter tool has been added, which converts .llasset, .tkasset, .bpxa, .pllasset, .ptkasset, and .pbpxa asset files to the new .blast format using the universal serialization scheme in the new NvBlastExtSerialization extension. -* Mesh cleaner in NvBlastExtAuthoring. Tries to remove self intersections and open edges in the interior of a mesh. +* NvBlastExtAuthoring +** Mesh cleaner, tries to remove self intersections and open edges in the interior of a mesh. +** Ability to set interior material to existing (external) material, or a new material id. +** Material ID remapping API. Bug fixes --------- @@ -98,10 +104,19 @@ Bug fixes had led to some crashes with empty vectors. * SampleAssetViewer ** Fixed dragging kinematic actor. +** Now loads the commandline-defined asset also when sample resources were not downloaded yet. * Serialization documented. +* Fixed smoothing groups in FBX exporter code. +* Impulse passing from parent to child chunks fixed. +* Reading unskinned fbx meshes correctly. +* Collision hull generation from fbx meshes fixed. +* Win32/64 PerfTest crash fix. Known Issues ------------ +* Damage shaders in extensions can miss bonds if the damage volume is too small. +* Authoring extension does not perform convex decomposition to fit chunks with multiple collision hulls. +* Authoring code does not use the user-defined allocator (NvBlastGlobals) exclusively. ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// diff --git a/docs/api_docs/files/pagesampleassetviewer.html b/docs/api_docs/files/pagesampleassetviewer.html index d70eb79..252f66f 100644 --- a/docs/api_docs/files/pagesampleassetviewer.html +++ b/docs/api_docs/files/pagesampleassetviewer.html @@ -21,13 +21,20 @@

        SampleAssetViewer

        The windows-specific bin subfolders contain the application SampleAssetViewer.exe.

        -This application can load model file sets (.blast, .obj, .collision) that are generated by the ApexImporter or AuthoringTool tools.

        +This application can load model file sets that are generated by the ApexImporter or AuthoringTool tools. A valid file set for this sample is one of the following:

        +

          +
        1. An ExtPxAsset file and a graphics file:
            +
          • .blast file: contains the Nv::Blast::ExtPxAsset which stores collision hulls in addition to Blast data. Here you must use the --px option in when exporting from ApexImporter or AuthoringTool.
          • .obj or .fbx file: stores the graphics data.
          +
        2. An NvBlastAsset or TkAsset file, and a graphics + collision file: +
        +

        Loading a Destructible Model

        -To load a specific file set, make sure the .blast, .obj, and .collision files all have the same name (except for extension). Then use the commandline options

        +To load a specific file set, make sure the all files in the file set (described above) have the same name (except for extension). Then use the commandline options

        --t PATHNAME -n ASSETNAME -p X Y Z -r AX AY AZ ANGLE
        +-t PATHNAME -n ASSETNAME -p "X Y Z" -r "AX AY AZ ANGLE"
         

        -Here, PATHNAME is the path to the directory containing the three (.blast, .obj, .collision) files. ASSETNAME is the common name of those files. (X, Y, Z) is the translation to give to the actor that is created. (AX, AY, AZ, ANGLE) is the rotation axis and angle (in degrees) to apply to the actor.

        +Here, PATHNAME is the path to the directory containing the {.blast, .obj} or {.blast, .fbx} file set (described above). ASSETNAME is the common name of those files. (X, Y, Z) is the translation to give to the actor that is created. (AX, AY, AZ, ANGLE) is the rotation axis and angle (in degrees) to apply to the actor.

        Loading Multiple Destructible Models

        To load multiple destructible models, use a config file. The viewer reads .xml config files, which you can select using the command line argument

        diff --git a/docs/api_docs/files/struct_nv_1_1_blast_1_1_authoring_result-members.html b/docs/api_docs/files/struct_nv_1_1_blast_1_1_authoring_result-members.html
        index 19d9a27..8cb765c 100644
        --- a/docs/api_docs/files/struct_nv_1_1_blast_1_1_authoring_result-members.html
        +++ b/docs/api_docs/files/struct_nv_1_1_blast_1_1_authoring_result-members.html
        @@ -32,7 +32,7 @@
           

  • - + diff --git a/docs/api_docs/files/struct_nv_1_1_blast_1_1_authoring_result.html b/docs/api_docs/files/struct_nv_1_1_blast_1_1_authoring_result.html index b5843b1..cbd2f51 100644 --- a/docs/api_docs/files/struct_nv_1_1_blast_1_1_authoring_result.html +++ b/docs/api_docs/files/struct_nv_1_1_blast_1_1_authoring_result.html @@ -58,7 +58,7 @@ - + @@ -291,12 +291,12 @@ Offsets for render mesh geometry. Contains chunkCount + 1 element. First triangl Size of array of material names.

    - +

    virtual void Nv::Blast::Mesh::setSmoothingGroup (int32_t *  smoothingGroup const int32_t *  smoothingGroups  )  [pure virtual]
    geometryNv::Blast::AuthoringResult
    geometryOffsetNv::Blast::AuthoringResult
    materialCountNv::Blast::AuthoringResult
    materialNamesNv::Blast::AuthoringResult
    materialNamesNv::Blast::AuthoringResult
    physicsChunksNv::Blast::AuthoringResult
    physicsSubchunksNv::Blast::AuthoringResult
    release()=0Nv::Blast::AuthoringResult [pure virtual]
    uint32_t materialCount
    char ** materialNames
    const char ** materialNames
    struct ExtPxChunkphysicsChunks
    - +
    char** Nv::Blast::AuthoringResult::materialNames const char** Nv::Blast::AuthoringResult::materialNames
    diff --git a/docs/api_docs/files/struct_nv_1_1_blast_1_1_ext_impact_settings-members.html b/docs/api_docs/files/struct_nv_1_1_blast_1_1_ext_impact_settings-members.html index b8e0a11..599a094 100644 --- a/docs/api_docs/files/struct_nv_1_1_blast_1_1_ext_impact_settings-members.html +++ b/docs/api_docs/files/struct_nv_1_1_blast_1_1_ext_impact_settings-members.html @@ -21,14 +21,14 @@ diff --git a/docs/api_docs/files/struct_nv_1_1_blast_1_1_ext_impact_settings.html b/docs/api_docs/files/struct_nv_1_1_blast_1_1_ext_impact_settings.html index b47520c..378de7c 100644 --- a/docs/api_docs/files/struct_nv_1_1_blast_1_1_ext_impact_settings.html +++ b/docs/api_docs/files/struct_nv_1_1_blast_1_1_ext_impact_settings.html @@ -32,27 +32,27 @@  ExtImpactSettings ()

    Public Attributes

    -float damageAttenuation +float damageFalloffRadiusFactor - penetration attenuation ([0..1], where 1 means damage attenuates linearly from 0 to max penetration depth).
    + damage attenuation radius factor. Given a radius R for full damage, for [R, R * damageFalloffRadiusFactor] radius interval damage attenuates down to zero at the outer radius.
    ExtImpactDamageFunction damageFunction  custom damage function, can be nullptr, default internal one will be used in that case.
    void * damageFunctionData  data to be passed in custom damage function.
    -float damageMax - - max damage to be applied (if impulse is >= impulseMaxThreshold).
    float damageRadiusMax - max penetration depth (if impulse is >= impulseMaxThreshold).
    -float impulseMaxThreshold + the maximum radius in which full damage is applied.
    +float damageThresholdMax + + maximum damage fraction threshold to be applied. Range [0, 1]. For example 0.8 won't allow more then 80% of health damage to be applied.
    +float damageThresholdMin - max impulse value, damage is interpolated value between min and max impulses.
    -float impulseMinThreshold + minimum damage fraction threshold to be applied. Range [0, 1]. For example 0.1 filters all damage below 10% of health.
    +float hardness - min impulse value to apply impact damage.
    + hardness of material for impact damage. Damage = impulse / hardness . This damage is capped by the material's health.
    bool isSelfCollissionEnabled  family's self collision enabled.
    @@ -82,19 +82,19 @@ Impact Damage Manager Settings.

    Constructor & Destructor Documentati


    Member Data Documentation

    - +

    -penetration attenuation ([0..1], where 1 means damage attenuates linearly from 0 to max penetration depth). +damage attenuation radius factor. Given a radius R for full damage, for [R, R * damageFalloffRadiusFactor] radius interval damage attenuates down to zero at the outer radius.

    @@ -133,70 +133,70 @@ data to be passed in custom damage function.

    - +

    -max damage to be applied (if impulse is >= impulseMaxThreshold). +the maximum radius in which full damage is applied.

    - +

    -max penetration depth (if impulse is >= impulseMaxThreshold). +maximum damage fraction threshold to be applied. Range [0, 1]. For example 0.8 won't allow more then 80% of health damage to be applied.

    - +

    -max impulse value, damage is interpolated value between min and max impulses. +minimum damage fraction threshold to be applied. Range [0, 1]. For example 0.1 filters all damage below 10% of health.

    - +

    -min impulse value to apply impact damage. +hardness of material for impact damage. Damage = impulse / hardness . This damage is capped by the material's health.

    -- cgit v1.2.3