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!