typedef __m128 Xmvector;
To summarize,
1. Use Xmvector for local or global variables.
2. Use XMFLOAT2, XMFLOAT3, and XMFLOAT4 for class data members. (because it is 128bits, it is definitely not available as 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);
Something about XNA math lib