aboutsummaryrefslogtreecommitdiff
path: root/docs/_source/ext_converterll.txt
blob: e00a97a2d995f11fe085f32c0a475007253d967e (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
/*! \page pageextconverterll Data Format Conversion Extension (NvBlastExtConverterLL)

The low-level converter extension is a utility to convert NvBlastAsset and NvBlastFamily data from one format to another.

The format version of an asset may be obtained using the function

\code
uint32_t assetVersion = NvBlastAssetGetFormatVersion(asset, logFn);
\endcode

and likewise the format version of a family may be obtained using the function

\code
uint32_t familyVersion = NvBlastAssetGetFormatVersion(family, logFn);
\endcode

If the format version does not match the SDK's current version for one of these objects, the data may not be used
with the current SDK.  The NvBlastExtConverterLL extension will apply a chain of conversion functions to transform
an asset or family from its stored version to any other version, provided that such a chain exists.

To apply it, simply use the function convertDataBlock.  For example, given an asset pointer,

\code
vector<char> inBlock, outBlock;

inBlock.resize( NvBlastAssetGetSize(asset), logFn );
memcpy( inBlock.data(), asset, NvBlastAssetGetSize(asset) );

if ( convertDataBlock(outBlock, inBlock) )
{
	NvBlastAsset* convertedAsset = outBlock.data();

	// Use convertedAsset here
}
\endcode

<br>
*/