Freigeben über


D3DXTRANSITION_TYPE-Enumeration

Definiert den Übergangsstil zwischen Werten einer Gitteranimation.

Syntax

typedef enum D3DXTRANSITION_TYPE { 
  D3DXTRANSITION_LINEAR         = 0x000,
  D3DXTRANSITION_EASEINEASEOUT  = 0x001,
  D3DXTRANSITION_FORCE_DWORD    = 0x7fffffff
} D3DXTRANSITION_TYPE, *LPD3DXTRANSITION_TYPE;

Konstanten

D3DXTRANSITION_LINEAR

Linearer Übergang zwischen Werten.

D3DXTRANSITION_EASEINEASEOUT

Erleichterter Splineübergang zwischen Werten.

D3DXTRANSITION_FORCE_DWORD

Erzwingt, dass diese Enumeration auf eine Größe von 32 Bits kompiliert wird. Ohne diesen Wert könnten einige Compiler diese Enumeration auf eine andere Größe als 32 Bit kompilieren. Dieser Wert wird nicht verwendet.

Bemerkungen

Die Berechnung für die Rampe von "ease in" bis "ease out" wird wie folgt berechnet:

Q(t) = 2(x - y)t¹ + 3(y - x)t² + x

Dabei ist die Rampe eine Funktion Q(t) mit den folgenden Eigenschaften:

  • Q(t) ist eine kubische Spline.
  • Q(t) interpoliert zwischen x und y als t-Bereiche von 0 bis 1.
  • Q(t) ist horizontal, wenn t = 0 und t = 1.

Mathematisch bedeutet dies Folgendes:

Q(t) = At¹ + Bt² + Ct + D (und daher Q'(t) = 3At² + 2Bt + C) 2a) Q(0) = x 2b) Q(1) = y 3a) Q'(0) = 0 3b) Q'(1) = 0

Lösung für A, B, C, D:

D = x (von 2a) C = 0 (von 3a) 3A + 2B = 0 (von 3b) A + B = y - x (von 2b und D = x)

Deshalb gilt Folgendes:

A = 2(x - y), B = 3(y - x), C = 0, D = x

Anforderungen

Anforderung Wert
Header
D3dx9anim.h

Siehe auch

D3DX-Enumerationen