?/TD> |

Microsoft DirectX 9.0 |

Flags used to specify the transition style between values of a mesh animation.

Syntax

typedef enum _D3DXTRANSITIONTYPE { D3DXTRANSITION_LINEAR = 0x000, D3DXTRANSITION_EASEINEASEOUT = 0x001, D3DXTRANSITION_FORCE_DWORD = 0x7fffffff } D3DXTRANSITIONTYPE;

Constants

- D3DXTRANSITION_LINEAR
Linear transition between values.

- D3DXTRANSITION_EASEINEASEOUT
Ease-in, ease-out spline transition between values.

- D3DXTRANSITION_FORCE_DWORD
Forces this enumeration to compile to 32 bits in size.

Remarks

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:

- Q(t) is a cubic spline.
- Q(t) interpolates between x and y as t ranges from 0 to 1.
- Q(t) is horizontal when t = 0 and t = 1.
Mathematically, this translates into:

Q(t) = At^{3}+ Bt^{2}+ Ct + D (and therefore, Q'(t) = 3At^{2}+ 2Bt + C) a) Q(0) = x b) Q(1) = y a) Q'(0) = 0 b) Q'(1) = 0Solving 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.

Enumerated Type Information

Header d3dx9anim.h Minimum operating systems Windows 98