Defines the transition style between values of a mesh animation.
typedef enum D3DXTRANSITION_TYPE { D3DXTRANSITION_LINEAR = 0x000, D3DXTRANSITION_EASEINEASEOUT = 0x001, D3DXEDT_FORCE_DWORD = 0x7fffffff, } D3DXTRANSITION_TYPE, *LPD3DXTRANSITION_TYPE;
The calculation for the ramp from ease in to ease out is calculated as follows:
Q(t) = 2(x - y)t3 + 3(y - x)t2 + x.
where the ramp is a function Q(t) with the following properties:
Mathematically, this translates into:
Q(t) = At3 + Bt2 + Ct + D (and therefore, Q'(t) = 3At2 + 2Bt + C) 2a) Q(0) = x 2b) Q(1) = y 3a) Q'(0) = 0 3b) Q'(1) = 0
Solving for A, B, C, D:
D = x (from 2a) C = 0 (from 3a) 3A + 2B = 0 (from 3b) A + B = y - x (from 2b and D = x)
Therefore:
A = 2(x - y), B = 3(y - x), C = 0, D = x.