diff options
Diffstat (limited to 'docs/_source/ext_shaders.txt')
| -rwxr-xr-x[-rw-r--r--] | docs/_source/ext_shaders.txt | 92 |
1 files changed, 46 insertions, 46 deletions
diff --git a/docs/_source/ext_shaders.txt b/docs/_source/ext_shaders.txt index 3bfb37d..52aaa36 100644..100755 --- a/docs/_source/ext_shaders.txt +++ b/docs/_source/ext_shaders.txt @@ -1,46 +1,46 @@ -/*! \page pageextshaders Damage Shaders (NvBlastExtShaders) - -The Blast&tm; damage shader extension provides basic implementations of programs generating fracture commands, the first step in breaking a Blast&tm; Actor, see \ref splitting. -These programs come as two shader functions (callbacks): one for Actors with a support graph, and one for 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. - -For example, one may construct a damage program using the "shear" damage shaders declared in NvBlastExtDamageShaders.h: - -\code - NvBlastDamageProgram damageProgram = { NvBlastExtShearGraphShader, NvBlastExtShearSubgraphShader }; -\endcode - -The appropriate shader ("graph" or "subgraph") will be called for an Actor being processed, along with the Actor's necessary 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). - -For example: - -\code - NvBlastExtMaterial material = { health, minDamageThreshold, maxDamageThreshold }; - NvBlastExtRadialDamageDesc damageDesc = { compressive, posX, posY, posZ, minR, maxR }; -\endcode - -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. - -A Tk layer example follows. - -\code - tkGroup->addActor(*tkActor); - tkActor->damage(damageProgram, damageDesc0, sizeof(NvBlastExtRadialDamageDesc), &material); - tkActor->damage(damageProgram, damageDesc1, sizeof(NvBlastExtRadialDamageDesc), &material); - tkGroup->process(); -\endcode - -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: - -\code - NvBlastProgramParams programParams = { damageDescs, 2, &material }; - NvBlastActorGenerateFracture(commandBuffers, actor, damageProgram, &programParams, nullptr, nullptr); -\endcode - -*/ +/*! \page pageextshaders Damage Shaders (NvBlastExtShaders)
+
+The Blast&tm; damage shader extension provides basic implementations of programs generating fracture commands, the first step in breaking a Blast&tm; Actor, see \ref splitting.
+These programs come as two shader functions (callbacks): one for Actors with a support graph, and one for 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.
+
+For example, one may construct a damage program using the "shear" damage shaders declared in NvBlastExtDamageShaders.h:
+
+\code
+ NvBlastDamageProgram damageProgram = { NvBlastExtShearGraphShader, NvBlastExtShearSubgraphShader };
+\endcode
+
+The appropriate shader ("graph" or "subgraph") will be called for an Actor being processed, along with the Actor's necessary 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).
+
+For example:
+
+\code
+ NvBlastExtMaterial material = { health, minDamageThreshold, maxDamageThreshold };
+ NvBlastExtRadialDamageDesc damageDesc = { compressive, posX, posY, posZ, minR, maxR };
+\endcode
+
+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.
+
+A Tk layer example follows.
+
+\code
+ tkGroup->addActor(*tkActor);
+ tkActor->damage(damageProgram, damageDesc0, sizeof(NvBlastExtRadialDamageDesc), &material);
+ tkActor->damage(damageProgram, damageDesc1, sizeof(NvBlastExtRadialDamageDesc), &material);
+ tkGroup->process();
+\endcode
+
+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:
+
+\code
+ NvBlastProgramParams programParams = { damageDescs, 2, &material };
+ NvBlastActorGenerateFracture(commandBuffers, actor, damageProgram, &programParams, nullptr, nullptr);
+\endcode
+
+*/
|