something about XNA math lib

typedef __m128 XMVECTOR;

To summarize,
1. Use XMVECTOR for local or global variables.
2. Use XMFLOAT2, XMFLOAT3, and XMFLOAT4 for class data members.(因为是128bits,所以作为class data members肯定不可行)
3. Use loading functions to convert from XMFLOAT* to XMVECTOR before doing calculations.

// Loads XMFLOAT2 into XMVECTOR
XMVECTOR XMLoadFloat2(CONST XMFLOAT2 *pSource);
// Loads XMFLOAT3 into XMVECTOR
XMVECTOR XMLoadFloat3(CONST XMFLOAT3 *pSource);
// Loads XMFLOAT4 into XMVECTOR
XMVECTOR XMLoadFloat4(CONST XMFLOAT4 *pSource);

4. Do calculations with XMVECTOR instances.
5. Use storage functions to convert from XMVECTOR to XMFLOAT*.

// Loads XMVECTOR into XMFLOAT2
VOID XMStoreFloat2(XMFLOAT2 *pDestination, FXMVECTOR V);
// Loads XMVECTOR into XMFLOAT3
VOID XMStoreFloat3(XMFLOAT3 *pDestination, FXMVECTOR V);
// Loads XMVECTOR into XMFLOAT4
VOID XMStoreFloat4(XMFLOAT4 *pDestination, FXMVECTOR V);

 

posted @ 2015-06-30 16:04  W.Heisenberg  阅读(296)  评论(0编辑  收藏  举报