/*! \page pageextpxserialization ExtPhysX Serialization (NvBlastExtPxSerialization)

This extension contains serializers which can be loaded into the ExtSerialization manager defined in \ref pageextserialization.

To use this extension, you must also load the ExtSerialization extension and create a serialization manager as described in \ref pageextserialization.

We repeat this here (again, assuming we are in the Nv::Blast namespace):

\code
ExtSerialization* ser = NvBlastExtSerializationCreate();
\endcode

Then, call the function NvBlastExtPxSerializerLoadSet, declared in <b>NvBlastExtPxSerialization.h</b>, passing in your TkFramework (required by ExtPhysX), along with
your physx::PxPhysics and physx::PxCooking pointers:

\code
TkFramework* framework = ... // We must have created a TkFramework
physx::PxPhysics* physics = ... // and PxPhysics
physx::PxCooking* cooking = ... // and PxCooking

NvBlastExtPxSerializerLoadSet(*framework, *physics, *cooking *ser);
\endcode

Now your serialization manager will have the serializers provided by this extension.  Currently only ExtPxAsset serializers exist, with object type ID
given by

<br>
<b>ExtPxObjectTypeID::Asset</b>
<br>

As with low-level assets, you can serialize using the serialization manager directly:

\code
const ExtPxAsset* asset = ... // Given pointer to an Nv::Blast::ExtPxAsset

void* buffer;
uint64_t size = ser->serializeIntoBuffer(buffer, asset, ExtPxObjectTypeID::Asset);
\endcode

or use the wrapper function defined in <b>NvBlastExtPxSerialization.h</b>:

\code
void* buffer;
uint64_t size = NvBlastExtSerializationSerializeExtPxAssetIntoBuffer(buffer, *ser, asset);
\endcode

<br>
*/
