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 |
|
Siehe auch