Поделиться через


перечисление 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 бит. Это значение не используется.

Комментарии

Вычисление для рампы от ease in до ease out вычисляется следующим образом:

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

где пандус — это функция Q(t) со следующими свойствами:

  • Q(t) — это кубический сплайн.
  • Q(t) интерполирует между x и y, так как t в диапазоне от 0 до 1.
  • Q(t) является горизонтальным, когда t = 0 и t = 1.

Математически это означает следующее:

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

Требования

Требование Значение
Заголовок
D3dx9anim.h

См. также раздел

Перечисления D3DX