CoreAnimation Namespace Reference
Detailed Description
The CoreAnimation subsystem contains the base functionality for higher level animation-related systems.FIXME: continue...
Data Structures | |
class | AnimClip |
class | AnimCurve |
class | AnimEvent |
class | AnimEventEmitter |
class | AnimKeyBuffer |
class | AnimResource |
class | AnimSampleBuffer |
class | AnimSampleMixInfo |
class | AnimUtil |
class | CurveType |
class | InfinityType |
struct | Nax3Header |
struct | Nax2Header |
class | SampleType |
class | StreamAnimationLoader |
class | ManagedAnimation |
Functions | |
void | AnimSampleJobFunc (const JobFuncContext &ctx) |
void | AnimSampleMixJobFunc (const JobFuncContext &ctx) |
void | AnimJobUtilSampleStep (const AnimCurve *curves, int numCurves, const float4 &velocityScale, const float4 *src0SamplePtr, float4 *outSamplePtr, uchar *outSampleCounts) |
void | AnimJobUtilSampleLinear (const AnimCurve *curves, int numCurves, float sampleWeight, const float4 &velocityScale, const float4 *src0SamplePtr, const float4 *src1SamplePtr, float4 *outSamplePtr, uchar *outSampleCounts) |
void | AnimJobUtilMix (const AnimCurve *curves, int numCurves, float mixWeight, const float4 *src0SamplePtr, const float4 *src1SamplePtr, const uchar *src0SampleCounts, const uchar *src1SampleCounts, float4 *outSamplePtr, uchar *outSampleCounts) |
Function Documentation
void CoreAnimation::AnimSampleJobFunc | ( | const JobFuncContext & | ctx | ) |
This job function only performs sampling, not mixing. This is usually called for the first anim job of a mixing chain.
void CoreAnimation::AnimSampleMixJobFunc | ( | const JobFuncContext & | ctx | ) |
Performs both animation sampling, and mixing with another sample buffer in a single job.
void CoreAnimation::AnimJobUtilSampleStep | ( | const AnimCurve * | curves, | |
int | numCurves, | |||
const float4 & | velocityScale, | |||
const float4 * | src0SamplePtr, | |||
float4 * | outSamplePtr, | |||
uchar * | outSampleCounts | |||
) | [inline] |
Sampler for "step" interpolation type.
void CoreAnimation::AnimJobUtilSampleLinear | ( | const AnimCurve * | curves, | |
int | numCurves, | |||
float | sampleWeight, | |||
const float4 & | velocityScale, | |||
const float4 * | src0SamplePtr, | |||
const float4 * | src1SamplePtr, | |||
float4 * | outSamplePtr, | |||
uchar * | outSampleCounts | |||
) | [inline] |
Sampler for "linear" interpolation type.
void CoreAnimation::AnimJobUtilMix | ( | const AnimCurve * | curves, | |
int | numCurves, | |||
float | mixWeight, | |||
const float4 * | src0SamplePtr, | |||
const float4 * | src1SamplePtr, | |||
const uchar * | src0SampleCounts, | |||
const uchar * | src1SampleCounts, | |||
float4 * | outSamplePtr, | |||
uchar * | outSampleCounts | |||
) | [inline] |
Mixes 2 source sample buffers into a destination sample buffer using a single lerp-value between 0.0 and 1.0. Mixing takes sample counts into consideration. A source sample count of 0 indicates, the this sample is not valid and the result is made of 100% of the other sample. If both source samples are valid, the result is blended from both source samples. This gives the expected results when an animation clip only manipulates parts of a character skeleton.
NOTE: the output data blocks may be identical with one of the input data blocks!