10 #ifndef __D3DX9MATH_INL__
11 #define __D3DX9MATH_INL__
39 D3DXFLOAT16::operator FLOAT ()
50 return value == f.value;
56 return value != f.value;
97 D3DXVECTOR2::operator FLOAT* ()
103 D3DXVECTOR2::operator CONST FLOAT* ()
const
105 return (CONST FLOAT *) &
x;
127 D3DXVECTOR2::operator *= ( FLOAT
f )
135 D3DXVECTOR2::operator /= ( FLOAT
f )
137 FLOAT fInv = 1.0f /
f;
152 D3DXVECTOR2::operator - ()
const
180 FLOAT fInv = 1.0f /
f;
193 return x == v.x &&
y == v.y;
199 return x != v.x ||
y != v.y;
246 D3DXVECTOR2_16F::operator CONST
D3DXFLOAT16* ()
const
312 D3DXVECTOR3::operator FLOAT* ()
318 D3DXVECTOR3::operator CONST FLOAT* ()
const
320 return (CONST FLOAT *) &
x;
344 D3DXVECTOR3::operator *= ( FLOAT
f )
353 D3DXVECTOR3::operator /= ( FLOAT
f )
355 FLOAT fInv = 1.0f /
f;
371 D3DXVECTOR3::operator - ()
const
399 FLOAT fInv = 1.0f /
f;
414 return x == v.x &&
y == v.y &&
z == v.z;
420 return x != v.x ||
y != v.y ||
z != v.z;
457 *((WORD *) &
z) = *((WORD *) &pf[2]);
477 D3DXVECTOR3_16F::operator CONST
D3DXFLOAT16* ()
const
488 *((WORD *) &
z) == *((WORD *) &v.z);
495 *((WORD *) &
z) != *((WORD *) &v.z);
548 D3DXVECTOR4::operator FLOAT* ()
554 D3DXVECTOR4::operator CONST FLOAT* ()
const
556 return (CONST FLOAT *) &
x;
582 D3DXVECTOR4::operator *= ( FLOAT
f )
592 D3DXVECTOR4::operator /= ( FLOAT
f )
594 FLOAT fInv = 1.0f /
f;
611 D3DXVECTOR4::operator - ()
const
639 FLOAT fInv = 1.0f /
f;
646 return D3DXVECTOR4(f * v.x, f * v.y, f * v.z, f * v.w);
653 return x == v.x &&
y == v.y &&
z == v.z &&
w == v.w;
659 return x != v.x ||
y != v.y ||
z != v.z ||
w != v.w;
718 D3DXVECTOR4_16F::operator CONST
D3DXFLOAT16* ()
const
773 FLOAT f21, FLOAT f22, FLOAT f23, FLOAT f24,
774 FLOAT f31, FLOAT f32, FLOAT f33, FLOAT f34,
775 FLOAT f41, FLOAT f42, FLOAT f43, FLOAT f44 )
787 D3DXMATRIX::operator () (
UINT iRow,
UINT iCol )
789 return m[iRow][iCol];
793 D3DXMATRIX::operator () (
UINT iRow,
UINT iCol )
const
795 return m[iRow][iCol];
801 D3DXMATRIX::operator FLOAT* ()
803 return (FLOAT *) &_11;
807 D3DXMATRIX::operator CONST FLOAT* ()
const
809 return (CONST FLOAT *) &_11;
815 D3DXMATRIX::operator *= ( CONST
D3DXMATRIX& mat )
822 D3DXMATRIX::operator += ( CONST
D3DXMATRIX& mat )
824 _11 += mat._11;
_12 += mat._12;
_13 += mat._13;
_14 += mat._14;
825 _21 += mat._21;
_22 += mat._22;
_23 += mat._23;
_24 += mat._24;
826 _31 += mat._31;
_32 += mat._32;
_33 += mat._33;
_34 += mat._34;
827 _41 += mat._41;
_42 += mat._42;
_43 += mat._43;
_44 += mat._44;
832 D3DXMATRIX::operator -= ( CONST
D3DXMATRIX& mat )
834 _11 -= mat._11;
_12 -= mat._12;
_13 -= mat._13;
_14 -= mat._14;
835 _21 -= mat._21;
_22 -= mat._22;
_23 -= mat._23;
_24 -= mat._24;
836 _31 -= mat._31;
_32 -= mat._32;
_33 -= mat._33;
_34 -= mat._34;
837 _41 -= mat._41;
_42 -= mat._42;
_43 -= mat._43;
_44 -= mat._44;
842 D3DXMATRIX::operator *= ( FLOAT
f )
852 D3DXMATRIX::operator /= ( FLOAT
f )
854 FLOAT fInv = 1.0f /
f;
871 D3DXMATRIX::operator - ()
const
893 _21 + mat._21,
_22 + mat._22,
_23 + mat._23,
_24 + mat._24,
894 _31 + mat._31,
_32 + mat._32,
_33 + mat._33,
_34 + mat._34,
895 _41 + mat._41,
_42 + mat._42,
_43 + mat._43,
_44 + mat._44);
899 D3DXMATRIX::operator - ( CONST
D3DXMATRIX& mat )
const
902 _21 - mat._21,
_22 - mat._22,
_23 - mat._23,
_24 - mat._24,
903 _31 - mat._31,
_32 - mat._32,
_33 - mat._33,
_34 - mat._34,
904 _41 - mat._41,
_42 - mat._42,
_43 - mat._43,
_44 - mat._44);
919 FLOAT fInv = 1.0f /
f;
930 return D3DXMATRIX(f * mat._11, f * mat._12, f * mat._13, f * mat._14,
931 f * mat._21, f * mat._22, f * mat._23, f * mat._24,
932 f * mat._31, f * mat._32, f * mat._33, f * mat._34,
933 f * mat._41, f * mat._42, f * mat._43, f * mat._44);
940 return 0 == memcmp(
this, &mat,
sizeof(
D3DXMATRIX));
946 return 0 != memcmp(
this, &mat,
sizeof(
D3DXMATRIX));
975 FLOAT _21, FLOAT _22, FLOAT _23, FLOAT _24,
976 FLOAT _31, FLOAT _32, FLOAT _33, FLOAT _34,
977 FLOAT _41, FLOAT _42, FLOAT _43, FLOAT _44 ) :
986 #define SIZE_MAX ((SIZE_T)-1)
990 _D3DXMATRIXA16::operator
new(
size_t s )
992 if (
s > (SIZE_MAX-16))
994 LPBYTE
p = ::new BYTE[
s + 16];
997 BYTE
offset = (BYTE)(16 - ((UINT_PTR)p & 15));
1005 _D3DXMATRIXA16::operator
new[](
size_t s )
1007 if (
s > (SIZE_MAX-16))
1009 LPBYTE p = ::new BYTE[
s + 16];
1012 BYTE offset = (BYTE)(16 - ((UINT_PTR)p & 15));
1020 _D3DXMATRIXA16::operator
delete(
void*
p)
1024 BYTE* pb =
static_cast<BYTE*
>(
p);
1031 _D3DXMATRIXA16::operator
delete[](
void*
p)
1035 BYTE* pb =
static_cast<BYTE*
>(
p);
1042 _D3DXMATRIXA16::operator=(CONST
D3DXMATRIX& rhs)
1090 D3DXQUATERNION::operator FLOAT* ()
1092 return (FLOAT *) &
x;
1096 D3DXQUATERNION::operator CONST FLOAT* ()
const
1098 return (CONST FLOAT *) &
x;
1131 D3DXQUATERNION::operator *= ( FLOAT
f )
1141 D3DXQUATERNION::operator /= ( FLOAT
f )
1143 FLOAT fInv = 1.0f /
f;
1160 D3DXQUATERNION::operator - ()
const
1196 FLOAT fInv = 1.0f /
f;
1211 return x == q.x &&
y == q.y &&
z == q.z &&
w == q.w;
1217 return x != q.x ||
y != q.y ||
z != q.z ||
w != q.w;
1263 D3DXPLANE::operator FLOAT* ()
1265 return (FLOAT *) &
a;
1269 D3DXPLANE::operator CONST FLOAT* ()
const
1271 return (CONST FLOAT *) &
a;
1277 D3DXPLANE::operator *= ( FLOAT
f )
1287 D3DXPLANE::operator /= ( FLOAT
f )
1289 FLOAT fInv = 1.0f /
f;
1306 D3DXPLANE::operator - ()
const
1322 FLOAT fInv = 1.0f /
f;
1329 return D3DXPLANE(f * p.a, f * p.b, f * p.c, f * p.d);
1335 return a == p.a &&
b == p.b &&
c == p.c &&
d == p.d;
1341 return a != p.a ||
b != p.b ||
c != p.c ||
d != p.d;
1354 CONST FLOAT
f = 1.0f / 255.0f;
1355 r = f * (FLOAT) (
unsigned char) (dw >> 16);
1356 g = f * (FLOAT) (
unsigned char) (dw >> 8);
1357 b = f * (FLOAT) (
unsigned char) (dw >> 0);
1358 a = f * (FLOAT) (
unsigned char) (dw >> 24);
1407 D3DXCOLOR::operator
DWORD ()
const
1409 DWORD dwR =
r >= 1.0f ? 0xff :
r <= 0.0f ? 0x00 : (
DWORD) (
r * 255.0
f + 0.5
f);
1410 DWORD dwG =
g >= 1.0f ? 0xff :
g <= 0.0f ? 0x00 : (
DWORD) (
g * 255.0
f + 0.5
f);
1411 DWORD dwB =
b >= 1.0f ? 0xff :
b <= 0.0f ? 0x00 : (
DWORD) (
b * 255.0
f + 0.5
f);
1412 DWORD dwA =
a >= 1.0f ? 0xff :
a <= 0.0f ? 0x00 : (
DWORD) (
a * 255.0
f + 0.5
f);
1414 return (dwA << 24) | (dwR << 16) | (dwG << 8) | dwB;
1419 D3DXCOLOR::operator FLOAT * ()
1421 return (FLOAT *) &
r;
1425 D3DXCOLOR::operator CONST FLOAT * ()
const
1427 return (CONST FLOAT *) &
r;
1459 D3DXCOLOR::operator += ( CONST
D3DXCOLOR&
c )
1469 D3DXCOLOR::operator -= ( CONST
D3DXCOLOR&
c )
1479 D3DXCOLOR::operator *= ( FLOAT
f )
1489 D3DXCOLOR::operator /= ( FLOAT
f )
1491 FLOAT fInv = 1.0f /
f;
1508 D3DXCOLOR::operator - ()
const
1522 D3DXCOLOR::operator - ( CONST
D3DXCOLOR&
c )
const
1536 FLOAT fInv = 1.0f /
f;
1544 return D3DXCOLOR(f * c.r, f * c.g, f * c.b, f * c.a);
1551 return r == c.r &&
g == c.g &&
b == c.b &&
a == c.a;
1557 return r != c.r ||
g != c.g ||
b != c.b ||
a != c.a;
1561 #endif //__cplusplus
1585 return sqrtf(pV->x * pV->x + pV->y * pV->y);
1587 return (FLOAT) sqrt(pV->x * pV->x + pV->y * pV->y);
1599 return pV->x * pV->x + pV->y * pV->y;
1610 return pV1->x * pV2->x + pV1->y * pV2->y;
1621 return pV1->x * pV2->y - pV1->y * pV2->x;
1628 if(!pOut || !pV1 || !pV2)
1632 pOut->
x = pV1->x + pV2->x;
1633 pOut->
y = pV1->y + pV2->y;
1641 if(!pOut || !pV1 || !pV2)
1645 pOut->
x = pV1->x - pV2->x;
1646 pOut->
y = pV1->y - pV2->y;
1654 if(!pOut || !pV1 || !pV2)
1658 pOut->
x = pV1->x < pV2->x ? pV1->x : pV2->x;
1659 pOut->
y = pV1->y < pV2->y ? pV1->y : pV2->y;
1667 if(!pOut || !pV1 || !pV2)
1671 pOut->
x = pV1->x > pV2->x ? pV1->x : pV2->x;
1672 pOut->
y = pV1->y > pV2->y ? pV1->y : pV2->y;
1684 pOut->
x = pV->x *
s;
1685 pOut->
y = pV->y *
s;
1694 if(!pOut || !pV1 || !pV2)
1698 pOut->
x = pV1->x + s * (pV2->x - pV1->x);
1699 pOut->
y = pV1->y + s * (pV2->y - pV1->y);
1717 return sqrtf(pV->x * pV->x + pV->y * pV->y + pV->z * pV->z);
1719 return (FLOAT) sqrt(pV->x * pV->x + pV->y * pV->y + pV->z * pV->z);
1731 return pV->x * pV->x + pV->y * pV->y + pV->z * pV->z;
1742 return pV1->x * pV2->x + pV1->y * pV2->y + pV1->z * pV2->z;
1751 if(!pOut || !pV1 || !pV2)
1755 v.
x = pV1->y * pV2->z - pV1->z * pV2->y;
1756 v.
y = pV1->z * pV2->x - pV1->x * pV2->z;
1757 v.
z = pV1->x * pV2->y - pV1->y * pV2->x;
1767 if(!pOut || !pV1 || !pV2)
1771 pOut->
x = pV1->x + pV2->x;
1772 pOut->
y = pV1->y + pV2->y;
1773 pOut->
z = pV1->z + pV2->z;
1781 if(!pOut || !pV1 || !pV2)
1785 pOut->
x = pV1->x - pV2->x;
1786 pOut->
y = pV1->y - pV2->y;
1787 pOut->
z = pV1->z - pV2->z;
1795 if(!pOut || !pV1 || !pV2)
1799 pOut->
x = pV1->x < pV2->x ? pV1->x : pV2->x;
1800 pOut->
y = pV1->y < pV2->y ? pV1->y : pV2->y;
1801 pOut->
z = pV1->z < pV2->z ? pV1->z : pV2->z;
1809 if(!pOut || !pV1 || !pV2)
1813 pOut->
x = pV1->x > pV2->x ? pV1->x : pV2->x;
1814 pOut->
y = pV1->y > pV2->y ? pV1->y : pV2->y;
1815 pOut->
z = pV1->z > pV2->z ? pV1->z : pV2->z;
1827 pOut->
x = pV->x *
s;
1828 pOut->
y = pV->y *
s;
1829 pOut->
z = pV->z *
s;
1838 if(!pOut || !pV1 || !pV2)
1842 pOut->
x = pV1->x + s * (pV2->x - pV1->x);
1843 pOut->
y = pV1->y + s * (pV2->y - pV1->y);
1844 pOut->
z = pV1->z + s * (pV2->z - pV1->z);
1862 return sqrtf(pV->x * pV->x + pV->y * pV->y + pV->z * pV->z + pV->w * pV->w);
1864 return (FLOAT) sqrt(pV->x * pV->x + pV->y * pV->y + pV->z * pV->z + pV->w * pV->w);
1876 return pV->x * pV->x + pV->y * pV->y + pV->z * pV->z + pV->w * pV->w;
1887 return pV1->x * pV2->x + pV1->y * pV2->y + pV1->z * pV2->z + pV1->w * pV2->w;
1894 if(!pOut || !pV1 || !pV2)
1898 pOut->
x = pV1->x + pV2->x;
1899 pOut->
y = pV1->y + pV2->y;
1900 pOut->
z = pV1->z + pV2->z;
1901 pOut->
w = pV1->w + pV2->w;
1909 if(!pOut || !pV1 || !pV2)
1913 pOut->
x = pV1->x - pV2->x;
1914 pOut->
y = pV1->y - pV2->y;
1915 pOut->
z = pV1->z - pV2->z;
1916 pOut->
w = pV1->w - pV2->w;
1924 if(!pOut || !pV1 || !pV2)
1928 pOut->
x = pV1->x < pV2->x ? pV1->x : pV2->x;
1929 pOut->
y = pV1->y < pV2->y ? pV1->y : pV2->y;
1930 pOut->
z = pV1->z < pV2->z ? pV1->z : pV2->z;
1931 pOut->
w = pV1->w < pV2->w ? pV1->w : pV2->w;
1939 if(!pOut || !pV1 || !pV2)
1943 pOut->
x = pV1->x > pV2->x ? pV1->x : pV2->x;
1944 pOut->
y = pV1->y > pV2->y ? pV1->y : pV2->y;
1945 pOut->
z = pV1->z > pV2->z ? pV1->z : pV2->z;
1946 pOut->
w = pV1->w > pV2->w ? pV1->w : pV2->w;
1958 pOut->
x = pV->x *
s;
1959 pOut->
y = pV->y *
s;
1960 pOut->
z = pV->z *
s;
1961 pOut->
w = pV->w *
s;
1970 if(!pOut || !pV1 || !pV2)
1974 pOut->
x = pV1->x + s * (pV2->x - pV1->x);
1975 pOut->
y = pV1->y + s * (pV2->y - pV1->y);
1976 pOut->
z = pV1->z + s * (pV2->z - pV1->z);
1977 pOut->
w = pV1->w + s * (pV2->w - pV1->w);
1994 pOut->
m[0][1] = pOut->
m[0][2] = pOut->
m[0][3] =
1995 pOut->
m[1][0] = pOut->
m[1][2] = pOut->
m[1][3] =
1996 pOut->
m[2][0] = pOut->
m[2][1] = pOut->
m[2][3] =
1997 pOut->
m[3][0] = pOut->
m[3][1] = pOut->
m[3][2] = 0.0f;
1999 pOut->
m[0][0] = pOut->
m[1][1] = pOut->
m[2][2] = pOut->
m[3][3] = 1.0f;
2012 return pM->m[0][0] == 1.0f && pM->m[0][1] == 0.0f && pM->m[0][2] == 0.0f && pM->m[0][3] == 0.0f &&
2013 pM->m[1][0] == 0.0f && pM->m[1][1] == 1.0f && pM->m[1][2] == 0.0f && pM->m[1][3] == 0.0f &&
2014 pM->m[2][0] == 0.0f && pM->m[2][1] == 0.0f && pM->m[2][2] == 1.0f && pM->m[2][3] == 0.0f &&
2015 pM->m[3][0] == 0.0f && pM->m[3][1] == 0.0f && pM->m[3][2] == 0.0f && pM->m[3][3] == 1.0f;
2032 return sqrtf(pQ->x * pQ->x + pQ->y * pQ->y + pQ->z * pQ->z + pQ->w * pQ->w);
2034 return (FLOAT) sqrt(pQ->x * pQ->x + pQ->y * pQ->y + pQ->z * pQ->z + pQ->w * pQ->w);
2046 return pQ->x * pQ->x + pQ->y * pQ->y + pQ->z * pQ->z + pQ->w * pQ->w;
2057 return pQ1->x * pQ2->x + pQ1->y * pQ2->y + pQ1->z * pQ2->z + pQ1->w * pQ2->w;
2069 pOut->
x = pOut->
y = pOut->
z = 0.0f;
2082 return pQ->x == 0.0f && pQ->y == 0.0f && pQ->z == 0.0f && pQ->w == 1.0f;
2114 return pP->a * pV->x + pP->b * pV->y + pP->c * pV->z + pP->d * pV->w;
2125 return pP->a * pV->x + pP->b * pV->y + pP->c * pV->z + pP->d;
2136 return pP->a * pV->x + pP->b * pV->y + pP->c * pV->z;
2147 pOut->
a = pP->a *
s;
2148 pOut->
b = pP->b *
s;
2149 pOut->
c = pP->c *
s;
2150 pOut->
d = pP->d *
s;
2167 pOut->
r = 1.0f - pC->r;
2168 pOut->
g = 1.0f - pC->g;
2169 pOut->
b = 1.0f - pC->b;
2178 if(!pOut || !pC1 || !pC2)
2182 pOut->
r = pC1->r + pC2->r;
2183 pOut->
g = pC1->g + pC2->g;
2184 pOut->
b = pC1->b + pC2->b;
2185 pOut->
a = pC1->a + pC2->a;
2193 if(!pOut || !pC1 || !pC2)
2197 pOut->
r = pC1->r - pC2->r;
2198 pOut->
g = pC1->g - pC2->g;
2199 pOut->
b = pC1->b - pC2->b;
2200 pOut->
a = pC1->a - pC2->a;
2212 pOut->
r = pC->r *
s;
2213 pOut->
g = pC->g *
s;
2214 pOut->
b = pC->b *
s;
2215 pOut->
a = pC->a *
s;
2223 if(!pOut || !pC1 || !pC2)
2227 pOut->
r = pC1->r * pC2->r;
2228 pOut->
g = pC1->g * pC2->g;
2229 pOut->
b = pC1->b * pC2->b;
2230 pOut->
a = pC1->a * pC2->a;
2238 if(!pOut || !pC1 || !pC2)
2242 pOut->
r = pC1->r + s * (pC2->r - pC1->r);
2243 pOut->
g = pC1->g + s * (pC2->g - pC1->g);
2244 pOut->
b = pC1->b + s * (pC2->b - pC1->b);
2245 pOut->
a = pC1->a + s * (pC2->a - pC1->a);
2250 #endif // __D3DX9MATH_INL__
D3DXMATRIX *WINAPI D3DXMatrixMultiply(D3DXMATRIX *pOut, CONST D3DXMATRIX *pM1, CONST D3DXMATRIX *pM2)
struct D3DXVECTOR4 D3DXVECTOR4
FLOAT D3DXQuaternionLengthSq(CONST D3DXQUATERNION *pQ)
D3DXCOLOR * D3DXColorLerp(D3DXCOLOR *pOut, CONST D3DXCOLOR *pC1, CONST D3DXCOLOR *pC2, FLOAT s)
D3DXVECTOR2 * D3DXVec2Scale(D3DXVECTOR2 *pOut, CONST D3DXVECTOR2 *pV, FLOAT s)
D3DXVECTOR2 * D3DXVec2Add(D3DXVECTOR2 *pOut, CONST D3DXVECTOR2 *pV1, CONST D3DXVECTOR2 *pV2)
struct D3DXFLOAT16 D3DXFLOAT16
FLOAT D3DXVec4Dot(CONST D3DXVECTOR4 *pV1, CONST D3DXVECTOR4 *pV2)
FLOAT D3DXVec3Dot(CONST D3DXVECTOR3 *pV1, CONST D3DXVECTOR3 *pV2)
FLOAT D3DXVec3LengthSq(CONST D3DXVECTOR3 *pV)
bool operator==(const SourceLocation &lhs, const SourceLocation &rhs)
D3DXQUATERNION * D3DXQuaternionConjugate(D3DXQUATERNION *pOut, CONST D3DXQUATERNION *pQ)
struct D3DXVECTOR2 D3DXVECTOR2
D3DXVECTOR3 * D3DXVec3Subtract(D3DXVECTOR3 *pOut, CONST D3DXVECTOR3 *pV1, CONST D3DXVECTOR3 *pV2)
D3DXVECTOR3 * D3DXVec3Add(D3DXVECTOR3 *pOut, CONST D3DXVECTOR3 *pV1, CONST D3DXVECTOR3 *pV2)
D3DXVECTOR2 * D3DXVec2Subtract(D3DXVECTOR2 *pOut, CONST D3DXVECTOR2 *pV1, CONST D3DXVECTOR2 *pV2)
TiXmlString operator+(const TiXmlString &a, const TiXmlString &b)
GLboolean GLboolean GLboolean GLboolean a
Quaternion operator/(const float &lhs, const Quaternion &rhs)
D3DXPLANE * D3DXPlaneScale(D3DXPLANE *pOut, CONST D3DXPLANE *pP, FLOAT s)
D3DXFLOAT16 *WINAPI D3DXFloat32To16Array(D3DXFLOAT16 *pOut, CONST FLOAT *pIn, UINT n)
struct D3DXPLANE D3DXPLANE
D3DXVECTOR4 * D3DXVec4Maximize(D3DXVECTOR4 *pOut, CONST D3DXVECTOR4 *pV1, CONST D3DXVECTOR4 *pV2)
D3DXVECTOR2 * D3DXVec2Minimize(D3DXVECTOR2 *pOut, CONST D3DXVECTOR2 *pV1, CONST D3DXVECTOR2 *pV2)
FLOAT D3DXVec2Length(CONST D3DXVECTOR2 *pV)
typedef UINT(WINAPI *PFNWGLGETCONTEXTGPUIDAMDPROC)(HGLRC hglrc)
FLOAT D3DXVec4Length(CONST D3DXVECTOR4 *pV)
D3DXQUATERNION * D3DXQuaternionIdentity(D3DXQUATERNION *pOut)
FLOAT D3DXVec2Dot(CONST D3DXVECTOR2 *pV1, CONST D3DXVECTOR2 *pV2)
FLOAT D3DXVec2LengthSq(CONST D3DXVECTOR2 *pV)
struct D3DXVECTOR4_16F D3DXVECTOR4_16F
D3DXVECTOR4 * D3DXVec4Scale(D3DXVECTOR4 *pOut, CONST D3DXVECTOR4 *pV, FLOAT s)
D3DXVECTOR2 * D3DXVec2Lerp(D3DXVECTOR2 *pOut, CONST D3DXVECTOR2 *pV1, CONST D3DXVECTOR2 *pV2, FLOAT s)
D3DXQUATERNION *WINAPI D3DXQuaternionMultiply(D3DXQUATERNION *pOut, CONST D3DXQUATERNION *pQ1, CONST D3DXQUATERNION *pQ2)
FLOAT D3DXVec3Length(CONST D3DXVECTOR3 *pV)
FLOAT D3DXVec4LengthSq(CONST D3DXVECTOR4 *pV)
BOOL D3DXMatrixIsIdentity(CONST D3DXMATRIX *pM)
D3DXCOLOR * D3DXColorAdd(D3DXCOLOR *pOut, CONST D3DXCOLOR *pC1, CONST D3DXCOLOR *pC2)
struct D3DXCOLOR D3DXCOLOR
D3DXVECTOR3 * D3DXVec3Scale(D3DXVECTOR3 *pOut, CONST D3DXVECTOR3 *pV, FLOAT s)
struct _D3DMATRIX D3DXMATRIX
__cplusplus
D3DXCOLOR * D3DXColorScale(D3DXCOLOR *pOut, CONST D3DXCOLOR *pC, FLOAT s)
D3DXCOLOR * D3DXColorModulate(D3DXCOLOR *pOut, CONST D3DXCOLOR *pC1, CONST D3DXCOLOR *pC2)
struct D3DXVECTOR3_16F D3DXVECTOR3_16F
__cplusplus
D3DXMATRIX _D3DXMATRIXA16
__cplusplus
struct _D3DVECTOR D3DXVECTOR3
__cplusplus
Quaternion operator*(const float &lhs, const Quaternion &rhs)
D3DXVECTOR4 * D3DXVec4Lerp(D3DXVECTOR4 *pOut, CONST D3DXVECTOR4 *pV1, CONST D3DXVECTOR4 *pV2, FLOAT s)
FLOAT *WINAPI D3DXFloat16To32Array(FLOAT *pOut, CONST D3DXFLOAT16 *pIn, UINT n)
FLOAT D3DXQuaternionLength(CONST D3DXQUATERNION *pQ)
bool operator!=(const SourceLocation &lhs, const SourceLocation &rhs)
D3DXMATRIX * D3DXMatrixIdentity(D3DXMATRIX *pOut)
FLOAT D3DXPlaneDotNormal(CONST D3DXPLANE *pP, CONST D3DXVECTOR3 *pV)
D3DXVECTOR3 * D3DXVec3Maximize(D3DXVECTOR3 *pOut, CONST D3DXVECTOR3 *pV1, CONST D3DXVECTOR3 *pV2)
FLOAT D3DXPlaneDot(CONST D3DXPLANE *pP, CONST D3DXVECTOR4 *pV)
D3DXVECTOR3 * D3DXVec3Minimize(D3DXVECTOR3 *pOut, CONST D3DXVECTOR3 *pV1, CONST D3DXVECTOR3 *pV2)
EGLSurface EGLint EGLint y
EGLSurface EGLint void ** value
D3DXVECTOR4 * D3DXVec4Minimize(D3DXVECTOR4 *pOut, CONST D3DXVECTOR4 *pV1, CONST D3DXVECTOR4 *pV2)
D3DXCOLOR * D3DXColorSubtract(D3DXCOLOR *pOut, CONST D3DXCOLOR *pC1, CONST D3DXCOLOR *pC2)
D3DXVECTOR4 * D3DXVec4Subtract(D3DXVECTOR4 *pOut, CONST D3DXVECTOR4 *pV1, CONST D3DXVECTOR4 *pV2)
GLdouble GLdouble GLdouble GLdouble q
typedef DWORD(WINAPI *XInputGetState_t)(DWORD dwUserIndex
D3DXVECTOR3 * D3DXVec3Lerp(D3DXVECTOR3 *pOut, CONST D3DXVECTOR3 *pV1, CONST D3DXVECTOR3 *pV2, FLOAT s)
D3DXCOLOR * D3DXColorNegative(D3DXCOLOR *pOut, CONST D3DXCOLOR *pC)
GLdouble GLdouble GLdouble r
GLdouble GLdouble GLdouble b
GLint GLint GLint GLint z
D3DXVECTOR3 * D3DXVec3Cross(D3DXVECTOR3 *pOut, CONST D3DXVECTOR3 *pV1, CONST D3DXVECTOR3 *pV2)
struct D3DXQUATERNION D3DXQUATERNION
FLOAT D3DXVec2CCW(CONST D3DXVECTOR2 *pV1, CONST D3DXVECTOR2 *pV2)
GLint GLint GLint GLint GLint w
struct D3DXVECTOR2_16F D3DXVECTOR2_16F
D3DXVECTOR2 * D3DXVec2Maximize(D3DXVECTOR2 *pOut, CONST D3DXVECTOR2 *pV1, CONST D3DXVECTOR2 *pV2)
FLOAT D3DXPlaneDotCoord(CONST D3DXPLANE *pP, CONST D3DXVECTOR3 *pV)
FLOAT D3DXQuaternionDot(CONST D3DXQUATERNION *pQ1, CONST D3DXQUATERNION *pQ2)
D3DXVECTOR4 * D3DXVec4Add(D3DXVECTOR4 *pOut, CONST D3DXVECTOR4 *pV1, CONST D3DXVECTOR4 *pV2)
BOOL D3DXQuaternionIsIdentity(CONST D3DXQUATERNION *pQ)
typedef BOOL(WINAPI *PFNWGLSETSTEREOEMITTERSTATE3DLPROC)(HDC hDC