

The purpose of a group is to be a processing unit. The user may move actors in and out of groups as desired. NvBlastTk provides an actor group object which holds arbitrary sets of destructible actors. It has a C++ API with a global framework that manages objects and memory via a user-supplied allocation callback. The high-level toolkit wraps the low-level NvBlast and provides powerful new features. Damage Shadersĭamage behavior is completely defined by user-supplied "shader" functions and associated (shader-specific) damage parameters. In addition, multiple chunk hierarchies may exist in a single asset. Blast support structures may include support chunks from different fracturing depths, giving the author greater flexibility than was available with APEX Destruction. Support structures define how the fractured pieces can be “glued” together into actors. They simply process inputs with user-supplied buffers. Functions do not spawn tasks, allocate, or deallocate memory. It has a C-style API consisting of stateless functions, with no global framework or context. The low-level is a bare-bones API intended for use by experienced developers who want to have the thinnest layer between their engine and the computations performed by Blast. This layered API is designed to allow short ramp-up time for first usage (through the Ext and Tk APIs) while also allowing for customization and optimization by experienced users through the low-level API.

Blast consists of three layers: the low-level (NvBlast), a high-level "toolkit" wrapper (NvBlastTk), and extensions (prefixed with NvBlastExt).
