D3DXTRANSITION_TYPE 枚举
定义网格动画的值之间的切换样式。
语法
typedef enum D3DXTRANSITION_TYPE {
D3DXTRANSITION_LINEAR = 0x000,
D3DXTRANSITION_EASEINEASEOUT = 0x001,
D3DXTRANSITION_FORCE_DWORD = 0x7fffffff
} D3DXTRANSITION_TYPE, *LPD3DXTRANSITION_TYPE;
常量
-
D3DXTRANSITION_LINEAR
-
值之间的线性转换。
-
D3DXTRANSITION_EASEINEASEOUT
-
值之间的缓入、缓和样条转换。
-
D3DXTRANSITION_FORCE_DWORD
-
强制此枚举编译为大小为 32 位。 如果没有此值,某些编译器将允许此枚举编译为 32 位以外的大小。 不使用此值。
备注
从缓入到缓和的斜坡计算的计算方式如下:
- Q (t) = 2 (x - y) tー + 3 (y - x) t² + x
其中,渐变是具有以下属性的函数 Q (t) :
- Q (t) 是立方样条。
- Q (t) 在 x 和 y 之间内插,因为 t 范围为 0 到 1。
- 当 t = 0 且 t = 1 时,Q (t) 为水平。
从数学上看,这可转换为:
- Q (t) = At² + Bt² + ct + D (,因此, Q' (t) = 3At² + 2Bt + C) 2a) Q (0) = x 2b) Q ( (1) = y 3a) Q' (0) = 0 3b) Q' (1) = 0
求解 A、B、C、D:
- D = x (2a) C = 0 (3a) 3A + 2B = 0 (3b) A + B = y - x (2b,D = x)
因此:
- A = 2 (x - y) ,B = 3 (y - x) ,C = 0,D = x
要求
要求 | 值 |
---|---|
标头 |
|
另请参阅