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