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 Extension (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).