From e1bf674c16e3c8472b29574159c789cd3f0c64e0 Mon Sep 17 00:00:00 2001 From: Bryan Galdrikian Date: Fri, 24 Feb 2017 09:32:20 -0800 Subject: Updating to blast_source-windows@1.0.347-21749006 and blast_tools_and_samples-windows@1.0.347-21749006 with a new directory structure. NvBlast folder is gone, files have been moved to top level directory. README is changed to reflect this. --- docs/api_docs/files/pageextshaders.html | 48 +++++++++++++++++++++++++++++++++ 1 file changed, 48 insertions(+) create mode 100644 docs/api_docs/files/pageextshaders.html (limited to 'docs/api_docs/files/pageextshaders.html') diff --git a/docs/api_docs/files/pageextshaders.html b/docs/api_docs/files/pageextshaders.html new file mode 100644 index 0000000..f7b3099 --- /dev/null +++ b/docs/api_docs/files/pageextshaders.html @@ -0,0 +1,48 @@ + + + NVIDIA(R) Blast(R) SDK 1.0 API Reference: Damage Shaders (NvBlastExtShaders) + + + + + + + +
+

Damage Shaders (NvBlastExtShaders)

Blast Extensions provide basic implementations of programs generating fracture commands, the first step in breaking a Blast™ Actor, see Damage and Fracturing. These programs come as two shader functions (callbacks) for Actors with a support graph and Actors with just one chunk respectively. The NvBlastDamageProgram containing both shaders can be used for low-level directly (NvBlastActorGenerateFracture) or for TkActor's damage and fracture functions.

+

+The appropriate shader will be called for an Actor being processed, along with the necessary Actor's geometry and program parameters. The parameters (NvBlastProgramParams) are set to contain

+1. Material, something that describes an Actor properties (e.g. mass, stiffness, fragility) which are not expected to be changed often.

+2. Damage description, something that describes a particular damage event (e.g. position, radius and force of explosion).

+

    NvBlastExtMaterial material = { singleChunkThreshold, graphChunkThreshold, bondTangentialThreshold, bondNormalThreshold, damageAttenuation };
+    NvBlastExtRadialDamageDesc damageDesc = { compressive, posX, posY, posZ, minR, maxR };
+

+When used with TkActor::damage() functions, TkActor will cache the necessary data for deferred processing through TkGroup. This includes accumulating damage requests for the same material and program parameter combination. A default material can be set for a TkFamily that all its Actors uses.

+

    tkGroup->addActor(*tkActor);
+    tkActor->damage(damageProgram, damageDesc0, sizeof(NvBlastExtRadialDamageDesc), &material);
+    tkActor->damage(damageProgram, damageDesc1, sizeof(NvBlastExtRadialDamageDesc), &material);
+    tkGroup->process();
+    tkGroup->sync();
+

+In contrast, the user is responsible for providing all the damage descriptions persisting through the low-level NvBlastActorGenerateFracture call when not using the Tk layer.

+

    NvBlastProgramParams programParams = { damageDescs, 2, &material };
+    NvBlastActorGenerateFracture(commandBuffers, actor, damageProgram, &programParams, nullptr, nullptr);
+
+ + + + -- cgit v1.2.3