D3DXTRANSITION _ TYPE-Enumeration

Definiert den Übergangsstil zwischen Werten einer Gitternetzanimation.

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

Einfaches, einfaches Splineübergang zwischen Werten.

D3DXTRANSITION _ FORCE _ DWORD

Erzwingt, dass diese Enumeration auf eine Größe von 32 Bits kompiliert wird. Ohne diesen Wert würden einige Compiler zulassen, dass diese Enumeration in eine andere Größe als 32 Bits kompiliert wird. Dieser Wert wird nicht verwendet.

Hinweise

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

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

  • Q(t) ist ein kubischer Spline.
  • Q(t) interpoliert zwischen x und y, da t zwischen 0 und 1 liegt.
  • Q(t) ist horizontal, wenn t = 0 und t = 1.

Mathematischer Natur bedeutet dies:

Q(t) = At" + "Bt" + "Ct + D" (und daher "Q'(t)" = 3At taste + 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 (aus 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

Weitere Informationen

D3DX-Enumerationen