Skip to content

Commit

Permalink
Blast SDK 5.0.0 - PhysX SDK 5.1.3 (32494398)
Browse files Browse the repository at this point in the history
  • Loading branch information
preist-nvidia committed Feb 23, 2023
1 parent 4d33492 commit 93b6c25
Show file tree
Hide file tree
Showing 2,055 changed files with 30,540 additions and 6,965 deletions.
2 changes: 1 addition & 1 deletion README.md
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
# NVIDIA PhysX

Copyright (c) 2008-2022 NVIDIA Corporation. All rights reserved.
Copyright (c) 2008-2023 NVIDIA Corporation. All rights reserved.

Redistribution and use in source and binary forms, with or without
modification, are permitted provided that the following conditions
Expand Down
2 changes: 1 addition & 1 deletion blast/PACKAGE-LICENSES/blast-sdk-LICENSE.md
Original file line number Diff line number Diff line change
Expand Up @@ -22,4 +22,4 @@
// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
//
// Copyright (c) 2016-2022 NVIDIA Corporation. All rights reserved.
// Copyright (c) 2016-2023 NVIDIA Corporation. All rights reserved.
2 changes: 1 addition & 1 deletion blast/VERSION.md
Original file line number Diff line number Diff line change
@@ -1 +1 @@
4.0.2
5.0.0
6 changes: 0 additions & 6 deletions blast/deps/target-deps.packman.xml
Original file line number Diff line number Diff line change
Expand Up @@ -16,12 +16,6 @@
<package name="doxygen" version="1.8.5-windows-x86_64" platforms="windows-x86_64" />
</dependency>

<dependency name="physxsdk" linkPath="../_build/target-deps/physxsdk">
<package name="physxsdk" version="4.1.trunk.26400730-${platform}" platforms="windows-x86_64 linux-x86_64" />
</dependency>
<dependency name="pxshared" linkPath="../_build/target-deps/pxshared">
<package name="pxshared" version="1.1.trunk.25954437-${platform}" platforms="windows-x86_64 linux-x86_64" />
</dependency>

<dependency name="BoostMultiprecision" linkPath="../_build/target-deps/BoostMultiprecision">
<package name="BoostMultiprecision" version="1.64.0.1" platforms="windows-x86_64 linux-x86_64"/>
Expand Down
13 changes: 13 additions & 0 deletions blast/docs/CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -1,5 +1,18 @@
# Changelog

## [5.0.0] - 23-Jan-2023

### Changes
- Removed all PhysX dependencies from code outside of the ExtPx extension
- Replaced Px types with NvShared types
- NvFoundation headers in include/shared/NvFoundation
- Includes NvPreprocessor.h and NvcTypes.h (formerly in include/lowlevel)
- Include basic Nv types, such as NvVec3 (used by the Tk library)
- Consolidated header structure
- include/lowlevel/NvBlastPreprocessor.h is gone
- Previously-defined NVBLAST_API has been renamed NV_C_API and is now defined in NvPreprocessor.h


## [4.0.2] - 31-Aug-2022

### Bugfixes
Expand Down
10 changes: 5 additions & 5 deletions blast/include/extensions/assetutils/NvBlastExtAssetUtils.h
Original file line number Diff line number Diff line change
Expand Up @@ -22,7 +22,7 @@
// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
//
// Copyright (c) 2016-2022 NVIDIA Corporation. All rights reserved.
// Copyright (c) 2016-2023 NVIDIA Corporation. All rights reserved.

//! @file
//!
Expand All @@ -48,7 +48,7 @@ Reauthor the provided asset to create external bonds in the specified support ch
\return a new asset with added bonds if successful, NULL otherwise.
*/
NVBLAST_API NvBlastAsset* NvBlastExtAssetUtilsAddExternalBonds
NV_C_API NvBlastAsset* NvBlastExtAssetUtilsAddExternalBonds
(
const NvBlastAsset* asset,
const uint32_t* externalBoundChunks,
Expand Down Expand Up @@ -85,7 +85,7 @@ NVBLAST_FREE appied to the pointers in the returned NvBlastAssetDesc.
\return an asset descriptor that will build an exact duplicate of the input asset.
*/
NVBLAST_API NvBlastAssetDesc NvBlastExtAssetUtilsCreateDesc(const NvBlastAsset* asset);
NV_C_API NvBlastAssetDesc NvBlastExtAssetUtilsCreateDesc(const NvBlastAsset* asset);


/**
Expand Down Expand Up @@ -126,7 +126,7 @@ NVBLAST_FREE appied to the pointers in the returned NvBlastAssetDesc.
\return an asset descriptor that will build an asset which merges the components, using NvBlastCreateAsset.
*/
NVBLAST_API NvBlastAssetDesc NvBlastExtAssetUtilsMergeAssets
NV_C_API NvBlastAssetDesc NvBlastExtAssetUtilsMergeAssets
(
const NvBlastAsset** components,
const NvcVec3* scales,
Expand All @@ -151,7 +151,7 @@ Chunk volume and bond area are changed accordingly.
\param[in] rotation Pointer to rotation to be applied. Can be nullptr.
\param[in] translation Pointer to translation to be applied. Can be nullptr.
*/
NVBLAST_API void NvBlastExtAssetTransformInPlace
NV_C_API void NvBlastExtAssetTransformInPlace
(
NvBlastAsset* asset,
const NvcVec3* scale,
Expand Down
52 changes: 26 additions & 26 deletions blast/include/extensions/authoring/NvBlastExtAuthoring.h
Original file line number Diff line number Diff line change
Expand Up @@ -22,7 +22,7 @@
// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
//
// Copyright (c) 2016-2022 NVIDIA Corporation. All rights reserved.
// Copyright (c) 2016-2023 NVIDIA Corporation. All rights reserved.

//! @file
//!
Expand Down Expand Up @@ -67,7 +67,7 @@ User should call release() after usage.
\return pointer to Nv::Blast::Mesh if it was created succefully otherwise return nullptr
*/
NVBLAST_API Nv::Blast::Mesh*
NV_C_API Nv::Blast::Mesh*
NvBlastExtAuthoringCreateMesh(const NvcVec3* positions, const NvcVec3* normals, const NvcVec2* uv,
uint32_t verticesCount, const uint32_t* indices, uint32_t indicesCount);

Expand All @@ -84,7 +84,7 @@ User should call Mesh::release() after usage.
\return pointer to Nv::Blast::Mesh if it was created succefully otherwise return nullptr
*/
NVBLAST_API Nv::Blast::Mesh*
NV_C_API Nv::Blast::Mesh*
NvBlastExtAuthoringCreateMeshOnlyTriangles(const void* vertices, uint32_t verticesCount, uint32_t* indices,
uint32_t indexCount, void* materials = nullptr, uint32_t materialStride = 4);

Expand All @@ -101,7 +101,7 @@ User should call release() after usage.
\return pointer to Nv::Blast::Mesh if it was created succefully otherwise return nullptr
*/
NVBLAST_API Nv::Blast::Mesh*
NV_C_API Nv::Blast::Mesh*
NvBlastExtAuthoringCreateMeshFromFacets(const void* vertices, const void* edges, const void* facets,
uint32_t verticesCount, uint32_t edgesCount, uint32_t facetsCount);

Expand All @@ -112,11 +112,11 @@ should be supplied with fracture mesh.
\param[in] rnd User supplied random value generator.
\return Pointer to VoronoiSitesGenerator. User's code should release it after usage.
*/
NVBLAST_API Nv::Blast::VoronoiSitesGenerator*
NV_C_API Nv::Blast::VoronoiSitesGenerator*
NvBlastExtAuthoringCreateVoronoiSitesGenerator(Nv::Blast::Mesh* mesh, Nv::Blast::RandomGeneratorBase* rng);

/** Instantiates a blank CutoutSet */
NVBLAST_API Nv::Blast::CutoutSet* NvBlastExtAuthoringCreateCutoutSet();
NV_C_API Nv::Blast::CutoutSet* NvBlastExtAuthoringCreateCutoutSet();

/**
Builds a cutout set (which must have been initially created by createCutoutSet()).
Expand All @@ -134,7 +134,7 @@ segments may be fudged into alignment. By default set it to 1.
\param expandGaps expand cutout regions to gaps or keep it as is
*/
NVBLAST_API void
NV_C_API void
NvBlastExtAuthoringBuildCutoutSet(Nv::Blast::CutoutSet& cutoutSet, const uint8_t* pixelBuffer, uint32_t bufferWidth,
uint32_t bufferHeight, float segmentationErrorThreshold, float snapThreshold,
bool periodic, bool expandGaps);
Expand All @@ -143,13 +143,13 @@ NvBlastExtAuthoringBuildCutoutSet(Nv::Blast::CutoutSet& cutoutSet, const uint8_t
Create FractureTool object.
\return Pointer to create FractureTool. User's code should release it after usage.
*/
NVBLAST_API Nv::Blast::FractureTool* NvBlastExtAuthoringCreateFractureTool();
NV_C_API Nv::Blast::FractureTool* NvBlastExtAuthoringCreateFractureTool();

/**
Create BlastBondGenerator
\return Pointer to created BlastBondGenerator. User's code should release it after usage.
*/
NVBLAST_API Nv::Blast::BlastBondGenerator* NvBlastExtAuthoringCreateBondGenerator(Nv::Blast::ConvexMeshBuilder* builder);
NV_C_API Nv::Blast::BlastBondGenerator* NvBlastExtAuthoringCreateBondGenerator(Nv::Blast::ConvexMeshBuilder* builder);

/**
Build convex mesh decomposition.
Expand All @@ -160,7 +160,7 @@ Build convex mesh decomposition.
\return Number of created convex hulls.
*/
NVBLAST_API int32_t NvBlastExtAuthoringBuildMeshConvexDecomposition(Nv::Blast::ConvexMeshBuilder* cmb,
NV_C_API int32_t NvBlastExtAuthoringBuildMeshConvexDecomposition(Nv::Blast::ConvexMeshBuilder* cmb,
const Nv::Blast::Triangle* mesh,
uint32_t triangleCount,
const Nv::Blast::ConvexDecompositionParams& params,
Expand All @@ -179,7 +179,7 @@ NVBLAST_API int32_t NvBlastExtAuthoringBuildMeshConvexDecomposition(Nv::Blast::C
\param[in] chunkDepth Array of depth levels of convex hulls corresponding chunks.
*/
NVBLAST_API void NvBlastExtAuthoringTrimCollisionGeometry(Nv::Blast::ConvexMeshBuilder* cmb, uint32_t chunksCount,
NV_C_API void NvBlastExtAuthoringTrimCollisionGeometry(Nv::Blast::ConvexMeshBuilder* cmb, uint32_t chunksCount,
Nv::Blast::CollisionHull** in, const uint32_t* chunkDepth);


Expand All @@ -190,7 +190,7 @@ Transforms collision hull in place using scale, rotation, transform.
\param[in] rotation Pointer to rotation to be applied. Can be nullptr.
\param[in] translation Pointer to translation to be applied. Can be nullptr.
*/
NVBLAST_API void NvBlastExtAuthoringTransformCollisionHullInPlace(Nv::Blast::CollisionHull* hull, const NvcVec3* scaling,
NV_C_API void NvBlastExtAuthoringTransformCollisionHullInPlace(Nv::Blast::CollisionHull* hull, const NvcVec3* scaling,
const NvcQuat* rotation, const NvcVec3* translation);

/**
Expand All @@ -200,7 +200,7 @@ Transforms collision hull in place using scale, rotation, transform.
\param[in] rotation Pointer to rotation to be applied. Can be nullptr.
\param[in] translation Pointer to translation to be applied. Can be nullptr.
*/
NVBLAST_API Nv::Blast::CollisionHull*
NV_C_API Nv::Blast::CollisionHull*
NvBlastExtAuthoringTransformCollisionHull(const Nv::Blast::CollisionHull* hull, const NvcVec3* scaling,
const NvcQuat* rotation, const NvcVec3* translation);

Expand All @@ -215,7 +215,7 @@ Performs pending fractures and generates fractured asset, render and collision g
\param[in] collisionParam Parameters of collision hulls generation.
\return Authoring result
*/
NVBLAST_API Nv::Blast::AuthoringResult*
NV_C_API Nv::Blast::AuthoringResult*
NvBlastExtAuthoringProcessFracture(Nv::Blast::FractureTool& fTool, Nv::Blast::BlastBondGenerator& bondGenerator,
Nv::Blast::ConvexMeshBuilder& collisionBuilder,
const Nv::Blast::ConvexDecompositionParams& collisionParam,
Expand All @@ -225,12 +225,12 @@ NvBlastExtAuthoringProcessFracture(Nv::Blast::FractureTool& fTool, Nv::Blast::Bl
/**
Releases collision data for AuthoringResult. AuthoringResult should be created by NvBlast.
*/
NVBLAST_API void NvBlastExtAuthoringReleaseAuthoringResultCollision(Nv::Blast::ConvexMeshBuilder& collisionBuilder, Nv::Blast::AuthoringResult* ar);
NV_C_API void NvBlastExtAuthoringReleaseAuthoringResultCollision(Nv::Blast::ConvexMeshBuilder& collisionBuilder, Nv::Blast::AuthoringResult* ar);

/**
Releases AuthoringResult data. AuthoringResult should be created by NvBlast.
*/
NVBLAST_API void NvBlastExtAuthoringReleaseAuthoringResult(Nv::Blast::ConvexMeshBuilder& collisionBuilder, Nv::Blast::AuthoringResult* ar);
NV_C_API void NvBlastExtAuthoringReleaseAuthoringResult(Nv::Blast::ConvexMeshBuilder& collisionBuilder, Nv::Blast::AuthoringResult* ar);


/**
Expand All @@ -240,7 +240,7 @@ Updates graphics mesh only
\param[out] ares AuthoringResult object which contains chunks, for which rendermeshes will be updated
(e.g. to tweak UVs). Initially should be created by NvBlastExtAuthoringProcessFracture.
*/
NVBLAST_API void NvBlastExtAuthoringUpdateGraphicsMesh(Nv::Blast::FractureTool& fTool, Nv::Blast::AuthoringResult& ares);
NV_C_API void NvBlastExtAuthoringUpdateGraphicsMesh(Nv::Blast::FractureTool& fTool, Nv::Blast::AuthoringResult& ares);

/**
Build collision meshes
Expand All @@ -251,7 +251,7 @@ Parameters of collision hulls generation.
\param[in] chunksToProcessCount Number of chunk indices in chunksToProcess memory buffer.
\param[in] chunksToProcess Chunk indices for which collision mesh should be built.
*/
NVBLAST_API void NvBlastExtAuthoringBuildCollisionMeshes(Nv::Blast::AuthoringResult& ares,
NV_C_API void NvBlastExtAuthoringBuildCollisionMeshes(Nv::Blast::AuthoringResult& ares,
Nv::Blast::ConvexMeshBuilder& collisionBuilder,
const Nv::Blast::ConvexDecompositionParams& collisionParam,
uint32_t chunksToProcessCount, uint32_t* chunksToProcess);
Expand All @@ -260,7 +260,7 @@ NVBLAST_API void NvBlastExtAuthoringBuildCollisionMeshes(Nv::Blast::AuthoringRes
Creates MeshCleaner object
\return pointer to Nv::Blast::Mesh if it was created succefully otherwise return nullptr
*/
NVBLAST_API Nv::Blast::MeshCleaner* NvBlastExtAuthoringCreateMeshCleaner();
NV_C_API Nv::Blast::MeshCleaner* NvBlastExtAuthoringCreateMeshCleaner();

/**
Finds bonds connecting chunks in a list of assets
Expand All @@ -287,47 +287,47 @@ relativeTransforms arrays.
\param[in] maxSeparation Maximal distance between chunks which can be connected by bond.
\return the number of bonds in newBondDescs
*/
NVBLAST_API uint32_t NvBlastExtAuthoringFindAssetConnectingBonds(
NV_C_API uint32_t NvBlastExtAuthoringFindAssetConnectingBonds(
const NvBlastAsset** components, const NvcVec3* scales, const NvcQuat* rotations, const NvcVec3* translations,
const uint32_t** convexHullOffsets, const Nv::Blast::CollisionHull*** chunkHulls, uint32_t componentCount,
NvBlastExtAssetUtilsBondDesc*& newBondDescs, float maxSeparation = 0.0f);

/**
Returns pattern generator used for generating fracture patterns.
*/
NVBLAST_API Nv::Blast::PatternGenerator* NvBlastExtAuthoringCreatePatternGenerator();
NV_C_API Nv::Blast::PatternGenerator* NvBlastExtAuthoringCreatePatternGenerator();

/**
Create spatial grid for mesh.
Release using Nv::Blast::SpatialGrid::release()
*/
NVBLAST_API Nv::Blast::SpatialGrid* NvBlastExtAuthoringCreateSpatialGrid(uint32_t resolution, const Nv::Blast::Mesh* m);
NV_C_API Nv::Blast::SpatialGrid* NvBlastExtAuthoringCreateSpatialGrid(uint32_t resolution, const Nv::Blast::Mesh* m);

/**
Create GridAccelerator - SpatialAccelerator which use Grid for faster mesh sampling.
Release using Nv::Blast::SpatialAccelerator::release()
*/
NVBLAST_API Nv::Blast::SpatialAccelerator* NvBlastExtAuthoringCreateGridAccelerator(Nv::Blast::SpatialGrid* parent);
NV_C_API Nv::Blast::SpatialAccelerator* NvBlastExtAuthoringCreateGridAccelerator(Nv::Blast::SpatialGrid* parent);

/**
Create SweepingAccelerator - SpatialAccelerator which uses a sweep algorithm.
Release using Nv::Blast::SpatialAccelerator::release()
*/
NVBLAST_API Nv::Blast::SpatialAccelerator* NvBlastExtAuthoringCreateSweepingAccelerator(const Nv::Blast::Mesh* m);
NV_C_API Nv::Blast::SpatialAccelerator* NvBlastExtAuthoringCreateSweepingAccelerator(const Nv::Blast::Mesh* m);

/**
Create BBoxBasedAccelerator - SpatialAccelerator which uses a bbox/grid algorithm.
Release using Nv::Blast::SpatialAccelerator::release()
*/
NVBLAST_API Nv::Blast::SpatialAccelerator* NvBlastExtAuthoringCreateBBoxBasedAccelerator(uint32_t resolution, const Nv::Blast::Mesh* m);
NV_C_API Nv::Blast::SpatialAccelerator* NvBlastExtAuthoringCreateBBoxBasedAccelerator(uint32_t resolution, const Nv::Blast::Mesh* m);

#define kBBoxBasedAcceleratorDefaultResolution 10

/**
Create BooleanTool object.
\return Pointer to created BooleanTool. User's code should release it after usage.
*/
NVBLAST_API Nv::Blast::BooleanTool* NvBlastExtAuthoringCreateBooleanTool();
NV_C_API Nv::Blast::BooleanTool* NvBlastExtAuthoringCreateBooleanTool();


#endif // ifndef NVBLASTAUTHORING_H
Original file line number Diff line number Diff line change
Expand Up @@ -22,7 +22,7 @@
// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
//
// Copyright (c) 2022 NVIDIA Corporation. All rights reserved.
// Copyright (c) 2022-2023 NVIDIA Corporation. All rights reserved.

//! @file
//!
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -22,7 +22,7 @@
// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
//
// Copyright (c) 2016-2021 NVIDIA Corporation. All rights reserved.
// Copyright (c) 2016-2023 NVIDIA Corporation. All rights reserved.

//! @file
//!
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -11,7 +11,7 @@
// components in life support devices or systems without express written approval of
// NVIDIA Corporation.
//
// Copyright (c) 2016-2022 NVIDIA Corporation. All rights reserved.
// Copyright (c) 2016-2023 NVIDIA Corporation. All rights reserved.

//! @file
//!
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -22,7 +22,7 @@
// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
//
// Copyright (c) 2016-2022 NVIDIA Corporation. All rights reserved.
// Copyright (c) 2016-2023 NVIDIA Corporation. All rights reserved.

//! @file
//!
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -22,7 +22,7 @@
// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
//
// Copyright (c) 2016-2022 NVIDIA Corporation. All rights reserved.
// Copyright (c) 2016-2023 NVIDIA Corporation. All rights reserved.

//! @file
//!
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -22,7 +22,7 @@
// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
//
// Copyright (c) 2016-2022 NVIDIA Corporation. All rights reserved.
// Copyright (c) 2016-2023 NVIDIA Corporation. All rights reserved.

//! @file
//!
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -22,7 +22,7 @@
// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
//
// Copyright (c) 2016-2022 NVIDIA Corporation. All rights reserved.
// Copyright (c) 2016-2023 NVIDIA Corporation. All rights reserved.

//! @file
//!
Expand All @@ -44,7 +44,6 @@ struct CollisionHull;
ConvexMeshBuilder provides routine to build collision hulls from array of vertices.
Collision hull is built as convex hull of provided point set.
If due to some reason building of convex hull is failed, collision hull is built as bounding box of vertex set.
PhysX implementation can be found in NvBlastExtPx.
*/
class ConvexMeshBuilder
{
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -22,7 +22,7 @@
// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
//
// Copyright (c) 2016-2022 NVIDIA Corporation. All rights reserved.
// Copyright (c) 2016-2023 NVIDIA Corporation. All rights reserved.

//! @file
//!
Expand Down
Loading

0 comments on commit 93b6c25

Please sign in to comment.