Extensions (NvBlastExt)

These are the current Blast™ extensions:

Damage Shaders (NvBlastExtShaders) - Standard damage shaders (radial, shear, line segment) which can be used in NvBlast and NvBlastTk damage functions.

Stress Solver (NvBlastExtStress) - A toolkit for performing stress calculations on low-level Blast™ actors, using a minimal API to assign masses and apply forces. Does not use any external physics library.

Asset Utilities (NvBlastExtAssetUtils) - NvBlastAsset utility functions. Add world bonds, merge assets, and transform geometric data.

Asset Authoring (NvBlastExtAuthoring) - Powerful tools for cleaning and fracturing meshes using voronoi, clustered voronoi, and slicing methods.

Importer (NvBlastExtImport) - Functions to import data from external formats and convert to a Blast™ asset. Currently handles APEX NvDestructibleAsset data.

Exporter (NvBlastExtExporter) - Standard mesh and collision writer tools in fbx, obj, and json formats.

Serialization (NvBlastExtSerialization) - Blast™ object serialization manager. With the ExtTkSerialization and ExtPxSerialization extensions, can serialize assets for low-level, Tk, and ExtPhysX libraries using a variety of encodings. This extension comes with low-level serializers built-in.

BlastTk Serialization (NvBlastExtTkSerialization) - This module contains serializers for NvBlastTk objects. Use in conjunction with ExtSerialization.

ExtPhysX Serialization (NvBlastExtPxSerialization) - This module contains serializers for ExtPhysX objects. Use in conjunction with ExtSerialization.

PhysX™ Extensions (NvBlastExtPhysX) - A reference implementation of a physics manager, using the PhysX™ SDK. Creates and manages actors and joints, and handles impact damage and uses the stress solver (ExtStress) to handle stress calculations.

To use them, include the appropriate headers in include/extensions (each extension will describe which headers are necessary), and link to the desired NvBlastExt*{config}{arch} library in the lib folder. Here, config is the usual DEBUG/CHECKED/PROFILE (or nothing for release), and {arch} distinguishes achitecture, if needed (such as _x86 or _x64).