From 446ce137c6823ba9eff273bdafdaf266287c7c98 Mon Sep 17 00:00:00 2001 From: Bryan Galdrikian Date: Tue, 21 Feb 2017 12:07:59 -0800 Subject: first commit --- NvBlast/docs/api_docs/files/pageextshaders.html | 48 +++++++++++++++++++++++++ 1 file changed, 48 insertions(+) create mode 100644 NvBlast/docs/api_docs/files/pageextshaders.html (limited to 'NvBlast/docs/api_docs/files/pageextshaders.html') diff --git a/NvBlast/docs/api_docs/files/pageextshaders.html b/NvBlast/docs/api_docs/files/pageextshaders.html new file mode 100644 index 0000000..f7b3099 --- /dev/null +++ b/NvBlast/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