enumeração D3DXTRANSITION_TYPE

Define o estilo de transição entre valores de uma animação de malha.

Sintaxe

typedef enum D3DXTRANSITION_TYPE { 
  D3DXTRANSITION_LINEAR         = 0x000,
  D3DXTRANSITION_EASEINEASEOUT  = 0x001,
  D3DXTRANSITION_FORCE_DWORD    = 0x7fffffff
} D3DXTRANSITION_TYPE, *LPD3DXTRANSITION_TYPE;

Constantes

D3DXTRANSITION_LINEAR

Transição linear entre valores.

D3DXTRANSITION_EASEINEASEOUT

Transição de spline de facilidade e facilidade entre valores.

D3DXTRANSITION_FORCE_DWORD

Força essa enumeração a ser compilada para 32 bits de tamanho. Sem esse valor, alguns compiladores permitiriam que essa enumeração fosse compilada em um tamanho diferente de 32 bits. Este valor não é usado.

Comentários

O cálculo para a rampa da facilidade de entrada para facilitar é calculado da seguinte maneira:

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

em que a rampa é uma função Q(t) com as seguintes propriedades:

  • Q(t) é uma spline cúbica.
  • Q(t) interpola entre x e y, pois t varia de 0 a 1.
  • Q(t) é horizontal quando t = 0 e t = 1.

Matematicamente, isso se traduz em:

Q(t) = At Consigo + Bt² + Ct + D (e, portanto, Q'(t) = 3At² + 2Bt + C) 2a) Q(0) = x 2b) Q(1) = y 3a) Q'(0) = 0 3b) Q'(1) = 0

Solução para A, B, C, D:

D = x (de 2a) C = 0 (de 3a) 3A + 2B = 0 (de 3b) A + B = y - x (de 2b e D = x)

Portanto:

A = 2(x - y), B = 3(y - x), C = 0, D = x

Requisitos

Requisito Valor
parâmetro
D3dx9anim.h

Confira também

Enumerações D3DX