12 #ifndef __D3DX9MATH_H__
13 #define __D3DX9MATH_H__
19 #pragma warning(disable:4201) // anonymous unions warning
28 #define D3DX_PI ((FLOAT) 3.141592654f)
29 #define D3DX_1BYPI ((FLOAT) 0.318309886f)
31 #define D3DXToRadian( degree ) ((degree) * (D3DX_PI / 180.0f))
32 #define D3DXToDegree( radian ) ((radian) * (180.0f / D3DX_PI))
42 #define D3DX_16F_DIG 3 // # of decimal digits of precision
43 #define D3DX_16F_EPSILON 4.8875809e-4f // smallest such that 1.0 + epsilon != 1.0
44 #define D3DX_16F_MANT_DIG 11 // # of bits in mantissa
45 #define D3DX_16F_MAX 6.550400e+004 // max value
46 #define D3DX_16F_MAX_10_EXP 4 // max decimal exponent
47 #define D3DX_16F_MAX_EXP 15 // max binary exponent
48 #define D3DX_16F_MIN 6.1035156e-5f // min positive value
49 #define D3DX_16F_MIN_10_EXP (-4) // min decimal exponent
50 #define D3DX_16F_MIN_EXP (-14) // min binary exponent
51 #define D3DX_16F_RADIX 2 // exponent radix
52 #define D3DX_16F_ROUNDS 1 // addition rounding: near
98 operator CONST FLOAT* ()
const;
102 D3DXVECTOR2& operator -= ( CONST D3DXVECTOR2& );
103 D3DXVECTOR2& operator *= ( FLOAT );
104 D3DXVECTOR2& operator /= ( FLOAT );
108 D3DXVECTOR2 operator - ()
const;
111 D3DXVECTOR2
operator + ( CONST D3DXVECTOR2& )
const;
112 D3DXVECTOR2 operator - ( CONST D3DXVECTOR2& )
const;
116 friend D3DXVECTOR2
operator * ( FLOAT, CONST D3DXVECTOR2& );
173 operator CONST FLOAT* ()
const;
199 typedef struct _D3DVECTOR D3DXVECTOR3, *LPD3DXVECTOR3;
248 operator CONST FLOAT* ()
const;
252 D3DXVECTOR4& operator -= ( CONST D3DXVECTOR4& );
253 D3DXVECTOR4& operator *= ( FLOAT );
254 D3DXVECTOR4& operator /= ( FLOAT );
258 D3DXVECTOR4 operator - ()
const;
261 D3DXVECTOR4
operator + ( CONST D3DXVECTOR4& )
const;
262 D3DXVECTOR4 operator - ( CONST D3DXVECTOR4& )
const;
266 friend D3DXVECTOR4
operator * ( FLOAT, CONST D3DXVECTOR4& );
326 FLOAT& operator () (
UINT Row,
UINT Col );
327 FLOAT operator () (
UINT Row,
UINT Col )
const;
331 operator CONST FLOAT* ()
const;
359 typedef struct _D3DMATRIX D3DXMATRIX, *LPD3DXMATRIX;
392 void*
operator new (
size_t );
393 void*
operator new[] (
size_t );
396 void operator delete (
void* );
397 void operator delete[] (
void* );
405 typedef D3DXMATRIX _D3DXMATRIXA16;
410 #if _MSC_VER >= 1300 // VC7
411 #define D3DX_ALIGN16 __declspec(align(16))
413 #define D3DX_ALIGN16 // Earlier compiler may not understand this, do nothing.
436 operator CONST FLOAT* ()
const;
440 D3DXQUATERNION& operator -= ( CONST D3DXQUATERNION& );
441 D3DXQUATERNION& operator *= ( CONST D3DXQUATERNION& );
442 D3DXQUATERNION& operator *= ( FLOAT );
443 D3DXQUATERNION& operator /= ( FLOAT );
447 D3DXQUATERNION operator - ()
const;
450 D3DXQUATERNION
operator + ( CONST D3DXQUATERNION& )
const;
451 D3DXQUATERNION operator - ( CONST D3DXQUATERNION& )
const;
452 D3DXQUATERNION
operator * ( CONST D3DXQUATERNION& )
const;
456 friend D3DXQUATERNION
operator * (FLOAT, CONST D3DXQUATERNION& );
482 operator CONST FLOAT* ()
const;
524 operator DWORD ()
const;
527 operator CONST FLOAT* ()
const;
529 operator D3DCOLORVALUE* ();
530 operator CONST D3DCOLORVALUE* ()
const;
532 operator D3DCOLORVALUE& ();
533 operator CONST D3DCOLORVALUE& ()
const;
537 D3DXCOLOR& operator -= ( CONST D3DXCOLOR& );
538 D3DXCOLOR& operator *= ( FLOAT );
539 D3DXCOLOR& operator /= ( FLOAT );
543 D3DXCOLOR operator - ()
const;
546 D3DXCOLOR
operator + ( CONST D3DXCOLOR& )
const;
547 D3DXCOLOR operator - ( CONST D3DXCOLOR& )
const;
551 friend D3DXCOLOR
operator * ( FLOAT, CONST D3DXCOLOR& );
936 (
D3DXMATRIX *pOut, FLOAT sx, FLOAT sy, FLOAT sz );
965 (
D3DXMATRIX *pOut, FLOAT Yaw, FLOAT Pitch, FLOAT Roll );
979 FLOAT ScalingRotation, CONST
D3DXVECTOR2* pScaling,
980 CONST
D3DXVECTOR2* pRotationCenter, FLOAT Rotation,
1007 (
D3DXMATRIX *pOut, FLOAT
w, FLOAT
h, FLOAT zn, FLOAT zf );
1011 (
D3DXMATRIX *pOut, FLOAT
w, FLOAT
h, FLOAT zn, FLOAT zf );
1015 (
D3DXMATRIX *pOut, FLOAT fovy, FLOAT Aspect, FLOAT zn, FLOAT zf );
1019 (
D3DXMATRIX *pOut, FLOAT fovy, FLOAT Aspect, FLOAT zn, FLOAT zf );
1023 (
D3DXMATRIX *pOut, FLOAT
l, FLOAT
r, FLOAT
b, FLOAT
t, FLOAT zn,
1028 (
D3DXMATRIX *pOut, FLOAT
l, FLOAT
r, FLOAT
b, FLOAT
t, FLOAT zn,
1033 (
D3DXMATRIX *pOut, FLOAT
w, FLOAT
h, FLOAT zn, FLOAT zf );
1037 (
D3DXMATRIX *pOut, FLOAT
w, FLOAT
h, FLOAT zn, FLOAT zf );
1041 (
D3DXMATRIX *pOut, FLOAT
l, FLOAT
r, FLOAT
b, FLOAT
t, FLOAT zn,
1046 (
D3DXMATRIX *pOut, FLOAT
l, FLOAT
r, FLOAT
b, FLOAT
t, FLOAT zn,
1289 (FLOAT CosTheta, FLOAT RefractionIndex);
1308 0xc7885ba7, 0xf990, 0x4fe7, 0x92, 0x2d, 0x85, 0x15, 0xe4, 0x77, 0xdd, 0x85);
1312 #define INTERFACE ID3DXMatrixStack
1319 STDMETHOD(QueryInterface)(THIS_ REFIID riid,
LPVOID * ppvObj) PURE;
1320 STDMETHOD_(ULONG,AddRef)(THIS) PURE;
1321 STDMETHOD_(ULONG,Release)(THIS) PURE;
1329 STDMETHOD(Pop)(THIS) PURE;
1332 STDMETHOD(Push)(THIS) PURE;
1335 STDMETHOD(LoadIdentity)(THIS) PURE;
1338 STDMETHOD(LoadMatrix)(THIS_ CONST
D3DXMATRIX* pM ) PURE;
1342 STDMETHOD(MultMatrix)(THIS_ CONST
D3DXMATRIX* pM ) PURE;
1346 STDMETHOD(MultMatrixLocal)(THIS_ CONST
D3DXMATRIX* pM ) PURE;
1351 STDMETHOD(RotateAxis)
1357 STDMETHOD(RotateAxisLocal)
1366 STDMETHOD(RotateYawPitchRoll)
1367 (THIS_ FLOAT Yaw, FLOAT Pitch, FLOAT Roll) PURE;
1375 STDMETHOD(RotateYawPitchRollLocal)
1376 (THIS_ FLOAT Yaw, FLOAT Pitch, FLOAT Roll) PURE;
1380 STDMETHOD(Scale)(THIS_ FLOAT
x, FLOAT
y, FLOAT
z) PURE;
1384 STDMETHOD(ScaleLocal)(THIS_ FLOAT
x, FLOAT
y, FLOAT
z) PURE;
1388 STDMETHOD(Translate)(THIS_ FLOAT
x, FLOAT
y, FLOAT
z ) PURE;
1392 STDMETHOD(TranslateLocal)(THIS_ FLOAT
x, FLOAT
y, FLOAT
z) PURE;
1436 #define D3DXSH_MINORDER 2
1437 #define D3DXSH_MAXORDER 6
1480 ( FLOAT *pOut,
UINT Order, CONST
D3DXMATRIX *pMatrix, CONST FLOAT *pIn );
1503 ( FLOAT *pOut,
UINT Order, FLOAT Angle, CONST FLOAT *pIn );
1525 ( FLOAT *pOut,
UINT Order, CONST FLOAT *pA, CONST FLOAT *pB );
1547 ( FLOAT *pOut,
UINT Order, CONST FLOAT *pIn, CONST FLOAT Scale );
1566 (
UINT Order, CONST FLOAT *pA, CONST FLOAT *pB );
1592 FLOAT* WINAPI
D3DXSHMultiply2( FLOAT *pOut, CONST FLOAT *pF, CONST FLOAT *pG);
1593 FLOAT* WINAPI
D3DXSHMultiply3( FLOAT *pOut, CONST FLOAT *pF, CONST FLOAT *pG);
1594 FLOAT* WINAPI
D3DXSHMultiply4( FLOAT *pOut, CONST FLOAT *pF, CONST FLOAT *pG);
1595 FLOAT* WINAPI
D3DXSHMultiply5( FLOAT *pOut, CONST FLOAT *pF, CONST FLOAT *pG);
1596 FLOAT* WINAPI
D3DXSHMultiply6( FLOAT *pOut, CONST FLOAT *pF, CONST FLOAT *pG);
1637 FLOAT RIntensity, FLOAT GIntensity, FLOAT BIntensity,
1638 FLOAT *pROut, FLOAT *pGOut, FLOAT *pBOut );
1674 FLOAT RIntensity, FLOAT GIntensity, FLOAT BIntensity,
1675 FLOAT *pROut, FLOAT *pGOut, FLOAT *pBOut );
1712 FLOAT RIntensity, FLOAT GIntensity, FLOAT BIntensity,
1713 FLOAT *pROut, FLOAT *pGOut, FLOAT *pBOut );
1749 FLOAT *pROut, FLOAT *pGOut, FLOAT *pBOut );
1779 FLOAT *pROut, FLOAT *pGOut, FLOAT *pBOut );
1789 #if _MSC_VER >= 1200
1790 #pragma warning(pop)
1792 #pragma warning(default:4201)
1795 #endif // __D3DX9MATH_H__
D3DXVECTOR3 *WINAPI D3DXVec3TransformCoord(D3DXVECTOR3 *pOut, CONST D3DXVECTOR3 *pV, CONST D3DXMATRIX *pM)
D3DXVECTOR3 *WINAPI D3DXVec3ProjectArray(D3DXVECTOR3 *pOut, UINT OutStride, CONST D3DXVECTOR3 *pV, UINT VStride, CONST D3DVIEWPORT9 *pViewport, CONST D3DXMATRIX *pProjection, CONST D3DXMATRIX *pView, CONST D3DXMATRIX *pWorld, UINT n)
FLOAT *WINAPI D3DXSHEvalDirection(FLOAT *pOut, UINT Order, CONST D3DXVECTOR3 *pDir)
D3DXVECTOR2 *WINAPI D3DXVec2TransformNormal(D3DXVECTOR2 *pOut, CONST D3DXVECTOR2 *pV, CONST D3DXMATRIX *pM)
D3DXMATRIX *WINAPI D3DXMatrixPerspectiveFovRH(D3DXMATRIX *pOut, FLOAT fovy, FLOAT Aspect, FLOAT zn, FLOAT zf)
HRESULT WINAPI D3DXSHEvalSphericalLight(UINT Order, CONST D3DXVECTOR3 *pPos, FLOAT Radius, FLOAT RIntensity, FLOAT GIntensity, FLOAT BIntensity, FLOAT *pROut, FLOAT *pGOut, FLOAT *pBOut)
D3DXVECTOR3 *WINAPI D3DXVec3Project(D3DXVECTOR3 *pOut, CONST D3DXVECTOR3 *pV, CONST D3DVIEWPORT9 *pViewport, CONST D3DXMATRIX *pProjection, CONST D3DXMATRIX *pView, CONST D3DXMATRIX *pWorld)
struct IDirect3DCubeTexture9 * LPDIRECT3DCUBETEXTURE9
D3DXMATRIX *WINAPI D3DXMatrixMultiply(D3DXMATRIX *pOut, CONST D3DXMATRIX *pM1, CONST D3DXMATRIX *pM2)
struct D3DXVECTOR4 D3DXVECTOR4
D3DXVECTOR2 *WINAPI D3DXVec2Hermite(D3DXVECTOR2 *pOut, CONST D3DXVECTOR2 *pV1, CONST D3DXVECTOR2 *pT1, CONST D3DXVECTOR2 *pV2, CONST D3DXVECTOR2 *pT2, FLOAT s)
FLOAT D3DXQuaternionLengthSq(CONST D3DXQUATERNION *pQ)
D3DXCOLOR * D3DXColorLerp(D3DXCOLOR *pOut, CONST D3DXCOLOR *pC1, CONST D3DXCOLOR *pC2, FLOAT s)
struct _D3DVECTOR * LPD3DXVECTOR3
D3DXVECTOR2 * D3DXVec2Scale(D3DXVECTOR2 *pOut, CONST D3DXVECTOR2 *pV, FLOAT s)
HRESULT WINAPI D3DXSHProjectCubeMap(UINT uOrder, LPDIRECT3DCUBETEXTURE9 pCubeMap, FLOAT *pROut, FLOAT *pGOut, FLOAT *pBOut)
FLOAT *WINAPI D3DXSHMultiply6(FLOAT *pOut, CONST FLOAT *pF, CONST FLOAT *pG)
D3DXMATRIX *WINAPI D3DXMatrixRotationX(D3DXMATRIX *pOut, FLOAT Angle)
GLfloat GLfloat GLfloat GLfloat h
D3DXVECTOR2 * D3DXVec2Add(D3DXVECTOR2 *pOut, CONST D3DXVECTOR2 *pV1, CONST D3DXVECTOR2 *pV2)
HRESULT WINAPI D3DXSHEvalDirectionalLight(UINT Order, CONST D3DXVECTOR3 *pDir, FLOAT RIntensity, FLOAT GIntensity, FLOAT BIntensity, FLOAT *pROut, FLOAT *pGOut, FLOAT *pBOut)
struct D3DXFLOAT16 D3DXFLOAT16
FLOAT D3DXVec4Dot(CONST D3DXVECTOR4 *pV1, CONST D3DXVECTOR4 *pV2)
FLOAT *WINAPI D3DXSHMultiply3(FLOAT *pOut, CONST FLOAT *pF, CONST FLOAT *pG)
FLOAT D3DXVec3Dot(CONST D3DXVECTOR3 *pV1, CONST D3DXVECTOR3 *pV2)
D3DX_ALIGN16 _D3DXMATRIXA16 D3DXMATRIXA16
typedef HRESULT(WINAPI *LPD3DXIMTSIGNALCALLBACK)(CONST D3DXVECTOR2 *uv
D3DXMATRIX *WINAPI D3DXMatrixPerspectiveRH(D3DXMATRIX *pOut, FLOAT w, FLOAT h, FLOAT zn, FLOAT zf)
FLOAT D3DXVec3LengthSq(CONST D3DXVECTOR3 *pV)
D3DXVECTOR4 *WINAPI D3DXVec4CatmullRom(D3DXVECTOR4 *pOut, CONST D3DXVECTOR4 *pV0, CONST D3DXVECTOR4 *pV1, CONST D3DXVECTOR4 *pV2, CONST D3DXVECTOR4 *pV3, FLOAT s)
D3DXMATRIX *WINAPI D3DXMatrixScaling(D3DXMATRIX *pOut, FLOAT sx, FLOAT sy, FLOAT sz)
D3DXVECTOR4 *WINAPI D3DXVec3Transform(D3DXVECTOR4 *pOut, CONST D3DXVECTOR3 *pV, CONST D3DXMATRIX *pM)
struct D3DXVECTOR2_16F * LPD3DXVECTOR2_16F
bool operator==(const SourceLocation &lhs, const SourceLocation &rhs)
void WINAPI D3DXQuaternionToAxisAngle(CONST D3DXQUATERNION *pQ, D3DXVECTOR3 *pAxis, FLOAT *pAngle)
D3DXQUATERNION * D3DXQuaternionConjugate(D3DXQUATERNION *pOut, CONST D3DXQUATERNION *pQ)
D3DXMATRIX *WINAPI D3DXMatrixMultiplyTranspose(D3DXMATRIX *pOut, CONST D3DXMATRIX *pM1, CONST D3DXMATRIX *pM2)
D3DXMATRIX *WINAPI D3DXMatrixOrthoOffCenterRH(D3DXMATRIX *pOut, FLOAT l, FLOAT r, FLOAT b, FLOAT t, FLOAT zn, FLOAT zf)
HRESULT WINAPI D3DXMatrixDecompose(D3DXVECTOR3 *pOutScale, D3DXQUATERNION *pOutRotation, D3DXVECTOR3 *pOutTranslation, CONST D3DXMATRIX *pM)
FLOAT *WINAPI D3DXSHScale(FLOAT *pOut, UINT Order, CONST FLOAT *pIn, CONST FLOAT Scale)
struct D3DXVECTOR2 D3DXVECTOR2
D3DXVECTOR3 * D3DXVec3Subtract(D3DXVECTOR3 *pOut, CONST D3DXVECTOR3 *pV1, CONST D3DXVECTOR3 *pV2)
D3DXVECTOR3 *WINAPI D3DXVec3TransformNormal(D3DXVECTOR3 *pOut, CONST D3DXVECTOR3 *pV, CONST D3DXMATRIX *pM)
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)
D3DXVECTOR3 *WINAPI D3DXVec3Unproject(D3DXVECTOR3 *pOut, CONST D3DXVECTOR3 *pV, CONST D3DVIEWPORT9 *pViewport, CONST D3DXMATRIX *pProjection, CONST D3DXMATRIX *pView, CONST D3DXMATRIX *pWorld)
D3DXCOLOR *WINAPI D3DXColorAdjustContrast(D3DXCOLOR *pOut, CONST D3DXCOLOR *pC, FLOAT c)
GLboolean GLboolean GLboolean GLboolean a
D3DXQUATERNION *WINAPI D3DXQuaternionExp(D3DXQUATERNION *pOut, CONST D3DXQUATERNION *pQ)
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
D3DXQUATERNION *WINAPI D3DXQuaternionRotationMatrix(D3DXQUATERNION *pOut, CONST D3DXMATRIX *pM)
D3DXPLANE *WINAPI D3DXPlaneTransform(D3DXPLANE *pOut, CONST D3DXPLANE *pP, CONST D3DXMATRIX *pM)
D3DXVECTOR4 * D3DXVec4Maximize(D3DXVECTOR4 *pOut, CONST D3DXVECTOR4 *pV1, CONST D3DXVECTOR4 *pV2)
D3DXVECTOR2 * D3DXVec2Minimize(D3DXVECTOR2 *pOut, CONST D3DXVECTOR2 *pV1, CONST D3DXVECTOR2 *pV2)
D3DXMATRIX *WINAPI D3DXMatrixOrthoOffCenterLH(D3DXMATRIX *pOut, FLOAT l, FLOAT r, FLOAT b, FLOAT t, FLOAT zn, FLOAT zf)
FLOAT *WINAPI D3DXSHMultiply5(FLOAT *pOut, CONST FLOAT *pF, CONST FLOAT *pG)
D3DXVECTOR4 *WINAPI D3DXVec4Cross(D3DXVECTOR4 *pOut, CONST D3DXVECTOR4 *pV1, CONST D3DXVECTOR4 *pV2, CONST D3DXVECTOR4 *pV3)
FLOAT *WINAPI D3DXSHAdd(FLOAT *pOut, UINT Order, CONST FLOAT *pA, CONST FLOAT *pB)
D3DXMATRIX *WINAPI D3DXMatrixRotationYawPitchRoll(D3DXMATRIX *pOut, FLOAT Yaw, FLOAT Pitch, FLOAT Roll)
FLOAT D3DXVec2Length(CONST D3DXVECTOR2 *pV)
typedef UINT(WINAPI *PFNWGLGETCONTEXTGPUIDAMDPROC)(HGLRC hglrc)
FLOAT D3DXVec4Length(CONST D3DXVECTOR4 *pV)
D3DXQUATERNION * D3DXQuaternionIdentity(D3DXQUATERNION *pOut)
D3DXPLANE *WINAPI D3DXPlaneFromPointNormal(D3DXPLANE *pOut, CONST D3DXVECTOR3 *pPoint, CONST D3DXVECTOR3 *pNormal)
DECLARE_INTERFACE_(IXAudio2, IUnknown)
FLOAT D3DXVec2Dot(CONST D3DXVECTOR2 *pV1, CONST D3DXVECTOR2 *pV2)
D3DXVECTOR4 *WINAPI D3DXVec4BaryCentric(D3DXVECTOR4 *pOut, CONST D3DXVECTOR4 *pV1, CONST D3DXVECTOR4 *pV2, CONST D3DXVECTOR4 *pV3, FLOAT f, FLOAT g)
FLOAT *WINAPI D3DXSHRotateZ(FLOAT *pOut, UINT Order, FLOAT Angle, CONST FLOAT *pIn)
D3DXCOLOR *WINAPI D3DXColorAdjustSaturation(D3DXCOLOR *pOut, CONST D3DXCOLOR *pC, FLOAT s)
D3DXMATRIX *WINAPI D3DXMatrixLookAtLH(D3DXMATRIX *pOut, CONST D3DXVECTOR3 *pEye, CONST D3DXVECTOR3 *pAt, CONST D3DXVECTOR3 *pUp)
FLOAT D3DXVec2LengthSq(CONST D3DXVECTOR2 *pV)
D3DXVECTOR2 *WINAPI D3DXVec2TransformCoordArray(D3DXVECTOR2 *pOut, UINT OutStride, CONST D3DXVECTOR2 *pV, UINT VStride, CONST D3DXMATRIX *pM, UINT n)
D3DXVECTOR3 *WINAPI D3DXPlaneIntersectLine(D3DXVECTOR3 *pOut, CONST D3DXPLANE *pP, CONST D3DXVECTOR3 *pV1, CONST D3DXVECTOR3 *pV2)
D3DXMATRIX *WINAPI D3DXMatrixPerspectiveOffCenterRH(D3DXMATRIX *pOut, FLOAT l, FLOAT r, FLOAT b, FLOAT t, FLOAT zn, FLOAT zf)
struct D3DXVECTOR2 * LPD3DXVECTOR2
void WINAPI D3DXQuaternionSquadSetup(D3DXQUATERNION *pAOut, D3DXQUATERNION *pBOut, D3DXQUATERNION *pCOut, CONST D3DXQUATERNION *pQ0, CONST D3DXQUATERNION *pQ1, CONST D3DXQUATERNION *pQ2, CONST D3DXQUATERNION *pQ3)
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)
D3DXVECTOR3 *WINAPI D3DXVec3CatmullRom(D3DXVECTOR3 *pOut, CONST D3DXVECTOR3 *pV0, CONST D3DXVECTOR3 *pV1, CONST D3DXVECTOR3 *pV2, CONST D3DXVECTOR3 *pV3, FLOAT s)
FLOAT D3DXVec4LengthSq(CONST D3DXVECTOR4 *pV)
D3DXMATRIX *WINAPI D3DXMatrixRotationQuaternion(D3DXMATRIX *pOut, CONST D3DXQUATERNION *pQ)
D3DXQUATERNION *WINAPI D3DXQuaternionLn(D3DXQUATERNION *pOut, CONST D3DXQUATERNION *pQ)
BOOL D3DXMatrixIsIdentity(CONST D3DXMATRIX *pM)
D3DXVECTOR3 *WINAPI D3DXVec3TransformNormalArray(D3DXVECTOR3 *pOut, UINT OutStride, CONST D3DXVECTOR3 *pV, UINT VStride, CONST D3DXMATRIX *pM, UINT n)
D3DXCOLOR * D3DXColorAdd(D3DXCOLOR *pOut, CONST D3DXCOLOR *pC1, CONST D3DXCOLOR *pC2)
struct _D3DMATRIX * LPD3DXMATRIX
struct D3DXCOLOR D3DXCOLOR
D3DXQUATERNION *WINAPI D3DXQuaternionSquad(D3DXQUATERNION *pOut, CONST D3DXQUATERNION *pQ1, CONST D3DXQUATERNION *pA, CONST D3DXQUATERNION *pB, CONST D3DXQUATERNION *pC, FLOAT t)
D3DXMATRIX *WINAPI D3DXMatrixShadow(D3DXMATRIX *pOut, CONST D3DXVECTOR4 *pLight, CONST D3DXPLANE *pPlane)
FLOAT *WINAPI D3DXSHRotate(FLOAT *pOut, UINT Order, CONST D3DXMATRIX *pMatrix, CONST FLOAT *pIn)
D3DXVECTOR4 *WINAPI D3DXVec4TransformArray(D3DXVECTOR4 *pOut, UINT OutStride, CONST D3DXVECTOR4 *pV, UINT VStride, CONST D3DXMATRIX *pM, UINT n)
D3DXVECTOR3 * D3DXVec3Scale(D3DXVECTOR3 *pOut, CONST D3DXVECTOR3 *pV, FLOAT s)
D3DXVECTOR3 *WINAPI D3DXVec3TransformCoordArray(D3DXVECTOR3 *pOut, UINT OutStride, CONST D3DXVECTOR3 *pV, UINT VStride, CONST D3DXMATRIX *pM, UINT n)
struct _D3DMATRIX D3DXMATRIX
__cplusplus
D3DXCOLOR * D3DXColorScale(D3DXCOLOR *pOut, CONST D3DXCOLOR *pC, FLOAT s)
D3DXMATRIX *WINAPI D3DXMatrixAffineTransformation(D3DXMATRIX *pOut, FLOAT Scaling, CONST D3DXVECTOR3 *pRotationCenter, CONST D3DXQUATERNION *pRotation, CONST D3DXVECTOR3 *pTranslation)
D3DXCOLOR * D3DXColorModulate(D3DXCOLOR *pOut, CONST D3DXCOLOR *pC1, CONST D3DXCOLOR *pC2)
D3DXMATRIX *WINAPI D3DXMatrixPerspectiveLH(D3DXMATRIX *pOut, FLOAT w, FLOAT h, FLOAT zn, FLOAT zf)
struct D3DXVECTOR3_16F D3DXVECTOR3_16F
__cplusplus
FLOAT *WINAPI D3DXSHMultiply2(FLOAT *pOut, CONST FLOAT *pF, CONST FLOAT *pG)
D3DXMATRIX _D3DXMATRIXA16
__cplusplus
struct _D3DVECTOR D3DXVECTOR3
__cplusplus
FLOAT WINAPI D3DXSHDot(UINT Order, CONST FLOAT *pA, CONST FLOAT *pB)
D3DXVECTOR4 *WINAPI D3DXVec4Hermite(D3DXVECTOR4 *pOut, CONST D3DXVECTOR4 *pV1, CONST D3DXVECTOR4 *pT1, CONST D3DXVECTOR4 *pV2, CONST D3DXVECTOR4 *pT2, FLOAT s)
DEFINE_GUID(KSDATAFORMAT_SUBTYPE_PCM, 0x00000001, 0x0000, 0x0010, 0x80, 0x00, 0x00, 0xaa, 0x00, 0x38, 0x9b, 0x71)
interface ID3DXMatrixStack * LPD3DXMATRIXSTACK
D3DXMATRIX *WINAPI D3DXMatrixRotationZ(D3DXMATRIX *pOut, FLOAT Angle)
FLOAT WINAPI D3DXMatrixDeterminant(CONST D3DXMATRIX *pM)
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)
D3DXVECTOR3 *WINAPI D3DXVec3Hermite(D3DXVECTOR3 *pOut, CONST D3DXVECTOR3 *pV1, CONST D3DXVECTOR3 *pT1, CONST D3DXVECTOR3 *pV2, CONST D3DXVECTOR3 *pT2, FLOAT s)
struct D3DXCOLOR * LPD3DXCOLOR
D3DXMATRIX *WINAPI D3DXMatrixOrthoRH(D3DXMATRIX *pOut, FLOAT w, FLOAT h, FLOAT zn, FLOAT zf)
D3DXMATRIX *WINAPI D3DXMatrixInverse(D3DXMATRIX *pOut, FLOAT *pDeterminant, CONST D3DXMATRIX *pM)
struct D3DXPLANE * LPD3DXPLANE
HRESULT WINAPI D3DXCreateMatrixStack(DWORD Flags, LPD3DXMATRIXSTACK *ppStack)
FLOAT WINAPI D3DXFresnelTerm(FLOAT CosTheta, FLOAT RefractionIndex)
FLOAT D3DXQuaternionLength(CONST D3DXQUATERNION *pQ)
HRESULT WINAPI D3DXSHEvalHemisphereLight(UINT Order, CONST D3DXVECTOR3 *pDir, D3DXCOLOR Top, D3DXCOLOR Bottom, FLOAT *pROut, FLOAT *pGOut, FLOAT *pBOut)
bool operator!=(const SourceLocation &lhs, const SourceLocation &rhs)
D3DXQUATERNION *WINAPI D3DXQuaternionRotationAxis(D3DXQUATERNION *pOut, CONST D3DXVECTOR3 *pV, FLOAT Angle)
D3DXMATRIX * D3DXMatrixIdentity(D3DXMATRIX *pOut)
D3DXPLANE *WINAPI D3DXPlaneTransformArray(D3DXPLANE *pOut, UINT OutStride, CONST D3DXPLANE *pP, UINT PStride, CONST D3DXMATRIX *pM, UINT n)
FLOAT D3DXPlaneDotNormal(CONST D3DXPLANE *pP, CONST D3DXVECTOR3 *pV)
typedef LPVOID(WINAPI *PFNWGLCREATEIMAGEBUFFERI3DPROC)(HDC hDC
D3DXVECTOR3 * D3DXVec3Maximize(D3DXVECTOR3 *pOut, CONST D3DXVECTOR3 *pV1, CONST D3DXVECTOR3 *pV2)
D3DXVECTOR2 *WINAPI D3DXVec2TransformCoord(D3DXVECTOR2 *pOut, CONST D3DXVECTOR2 *pV, CONST D3DXMATRIX *pM)
FLOAT D3DXPlaneDot(CONST D3DXPLANE *pP, CONST D3DXVECTOR4 *pV)
D3DXVECTOR4 *WINAPI D3DXVec2TransformArray(D3DXVECTOR4 *pOut, UINT OutStride, CONST D3DXVECTOR2 *pV, UINT VStride, CONST D3DXMATRIX *pM, UINT n)
D3DXVECTOR3 * D3DXVec3Minimize(D3DXVECTOR3 *pOut, CONST D3DXVECTOR3 *pV1, CONST D3DXVECTOR3 *pV2)
EGLSurface EGLint EGLint y
interface ID3DXMatrixStack ID3DXMatrixStack
D3DXVECTOR4 *WINAPI D3DXVec4Transform(D3DXVECTOR4 *pOut, CONST D3DXVECTOR4 *pV, CONST D3DXMATRIX *pM)
D3DXMATRIX *WINAPI D3DXMatrixLookAtRH(D3DXMATRIX *pOut, CONST D3DXVECTOR3 *pEye, CONST D3DXVECTOR3 *pAt, CONST D3DXVECTOR3 *pUp)
D3DXVECTOR4 * D3DXVec4Minimize(D3DXVECTOR4 *pOut, CONST D3DXVECTOR4 *pV1, CONST D3DXVECTOR4 *pV2)
D3DXMATRIX *WINAPI D3DXMatrixAffineTransformation2D(D3DXMATRIX *pOut, FLOAT Scaling, CONST D3DXVECTOR2 *pRotationCenter, FLOAT Rotation, CONST D3DXVECTOR2 *pTranslation)
D3DXMATRIX *WINAPI D3DXMatrixTranslation(D3DXMATRIX *pOut, FLOAT x, FLOAT y, FLOAT z)
D3DXCOLOR * D3DXColorSubtract(D3DXCOLOR *pOut, CONST D3DXCOLOR *pC1, CONST D3DXCOLOR *pC2)
D3DXMATRIX *WINAPI D3DXMatrixPerspectiveOffCenterLH(D3DXMATRIX *pOut, FLOAT l, FLOAT r, FLOAT b, FLOAT t, FLOAT zn, FLOAT zf)
D3DXQUATERNION *WINAPI D3DXQuaternionSlerp(D3DXQUATERNION *pOut, CONST D3DXQUATERNION *pQ1, CONST D3DXQUATERNION *pQ2, FLOAT t)
D3DXMATRIX *WINAPI D3DXMatrixTransformation2D(D3DXMATRIX *pOut, CONST D3DXVECTOR2 *pScalingCenter, FLOAT ScalingRotation, CONST D3DXVECTOR2 *pScaling, CONST D3DXVECTOR2 *pRotationCenter, FLOAT Rotation, CONST D3DXVECTOR2 *pTranslation)
struct D3DXVECTOR4_16F * LPD3DXVECTOR4_16F
D3DXVECTOR3 *WINAPI D3DXVec3Normalize(D3DXVECTOR3 *pOut, CONST D3DXVECTOR3 *pV)
D3DXVECTOR4 * D3DXVec4Subtract(D3DXVECTOR4 *pOut, CONST D3DXVECTOR4 *pV1, CONST D3DXVECTOR4 *pV2)
D3DXPLANE *WINAPI D3DXPlaneFromPoints(D3DXPLANE *pOut, CONST D3DXVECTOR3 *pV1, CONST D3DXVECTOR3 *pV2, CONST D3DXVECTOR3 *pV3)
D3DXQUATERNION *WINAPI D3DXQuaternionInverse(D3DXQUATERNION *pOut, CONST D3DXQUATERNION *pQ)
D3DXMATRIX *WINAPI D3DXMatrixReflect(D3DXMATRIX *pOut, CONST D3DXPLANE *pPlane)
#define D3DX_ALIGN16
__cplusplus
typedef DWORD(WINAPI *XInputGetState_t)(DWORD dwUserIndex
D3DXVECTOR3 * D3DXVec3Lerp(D3DXVECTOR3 *pOut, CONST D3DXVECTOR3 *pV1, CONST D3DXVECTOR3 *pV2, FLOAT s)
D3DXVECTOR4 *WINAPI D3DXVec4Normalize(D3DXVECTOR4 *pOut, CONST D3DXVECTOR4 *pV)
D3DXVECTOR3 *WINAPI D3DXVec3BaryCentric(D3DXVECTOR3 *pOut, CONST D3DXVECTOR3 *pV1, CONST D3DXVECTOR3 *pV2, CONST D3DXVECTOR3 *pV3, FLOAT f, FLOAT g)
D3DXMATRIX *WINAPI D3DXMatrixTranspose(D3DXMATRIX *pOut, CONST D3DXMATRIX *pM)
D3DXMATRIX *WINAPI D3DXMatrixRotationY(D3DXMATRIX *pOut, FLOAT Angle)
D3DXCOLOR * D3DXColorNegative(D3DXCOLOR *pOut, CONST D3DXCOLOR *pC)
D3DXVECTOR2 *WINAPI D3DXVec2BaryCentric(D3DXVECTOR2 *pOut, CONST D3DXVECTOR2 *pV1, CONST D3DXVECTOR2 *pV2, CONST D3DXVECTOR2 *pV3, FLOAT f, FLOAT g)
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)
D3DX_ALIGN16 _D3DXMATRIXA16 * LPD3DXMATRIXA16
HRESULT WINAPI D3DXSHEvalConeLight(UINT Order, CONST D3DXVECTOR3 *pDir, FLOAT Radius, FLOAT RIntensity, FLOAT GIntensity, FLOAT BIntensity, FLOAT *pROut, FLOAT *pGOut, FLOAT *pBOut)
struct D3DXVECTOR3_16F * LPD3DXVECTOR3_16F
FLOAT D3DXPlaneDotCoord(CONST D3DXPLANE *pP, CONST D3DXVECTOR3 *pV)
D3DXVECTOR2 *WINAPI D3DXVec2CatmullRom(D3DXVECTOR2 *pOut, CONST D3DXVECTOR2 *pV0, CONST D3DXVECTOR2 *pV1, CONST D3DXVECTOR2 *pV2, CONST D3DXVECTOR2 *pV3, FLOAT s)
D3DXMATRIX *WINAPI D3DXMatrixOrthoLH(D3DXMATRIX *pOut, FLOAT w, FLOAT h, FLOAT zn, FLOAT zf)
D3DXPLANE *WINAPI D3DXPlaneNormalize(D3DXPLANE *pOut, CONST D3DXPLANE *pP)
D3DXQUATERNION *WINAPI D3DXQuaternionNormalize(D3DXQUATERNION *pOut, CONST D3DXQUATERNION *pQ)
struct D3DXQUATERNION * LPD3DXQUATERNION
D3DXMATRIX *WINAPI D3DXMatrixTransformation(D3DXMATRIX *pOut, CONST D3DXVECTOR3 *pScalingCenter, CONST D3DXQUATERNION *pScalingRotation, CONST D3DXVECTOR3 *pScaling, CONST D3DXVECTOR3 *pRotationCenter, CONST D3DXQUATERNION *pRotation, CONST D3DXVECTOR3 *pTranslation)
FLOAT D3DXQuaternionDot(CONST D3DXQUATERNION *pQ1, CONST D3DXQUATERNION *pQ2)
D3DXVECTOR4 * D3DXVec4Add(D3DXVECTOR4 *pOut, CONST D3DXVECTOR4 *pV1, CONST D3DXVECTOR4 *pV2)
struct D3DXVECTOR4 * LPD3DXVECTOR4
D3DXVECTOR4 *WINAPI D3DXVec2Transform(D3DXVECTOR4 *pOut, CONST D3DXVECTOR2 *pV, CONST D3DXMATRIX *pM)
D3DXQUATERNION *WINAPI D3DXQuaternionRotationYawPitchRoll(D3DXQUATERNION *pOut, FLOAT Yaw, FLOAT Pitch, FLOAT Roll)
D3DXVECTOR2 *WINAPI D3DXVec2Normalize(D3DXVECTOR2 *pOut, CONST D3DXVECTOR2 *pV)
D3DXVECTOR4 *WINAPI D3DXVec3TransformArray(D3DXVECTOR4 *pOut, UINT OutStride, CONST D3DXVECTOR3 *pV, UINT VStride, CONST D3DXMATRIX *pM, UINT n)
D3DXQUATERNION *WINAPI D3DXQuaternionBaryCentric(D3DXQUATERNION *pOut, CONST D3DXQUATERNION *pQ1, CONST D3DXQUATERNION *pQ2, CONST D3DXQUATERNION *pQ3, FLOAT f, FLOAT g)
struct D3DXFLOAT16 * LPD3DXFLOAT16
FLOAT *WINAPI D3DXSHMultiply4(FLOAT *pOut, CONST FLOAT *pF, CONST FLOAT *pG)
D3DXMATRIX *WINAPI D3DXMatrixRotationAxis(D3DXMATRIX *pOut, CONST D3DXVECTOR3 *pV, FLOAT Angle)
D3DXVECTOR2 *WINAPI D3DXVec2TransformNormalArray(D3DXVECTOR2 *pOut, UINT OutStride, CONST D3DXVECTOR2 *pV, UINT VStride, CONST D3DXMATRIX *pM, UINT n)
D3DXVECTOR3 *WINAPI D3DXVec3UnprojectArray(D3DXVECTOR3 *pOut, UINT OutStride, CONST D3DXVECTOR3 *pV, UINT VStride, CONST D3DVIEWPORT9 *pViewport, CONST D3DXMATRIX *pProjection, CONST D3DXMATRIX *pView, CONST D3DXMATRIX *pWorld, UINT n)
BOOL D3DXQuaternionIsIdentity(CONST D3DXQUATERNION *pQ)
typedef BOOL(WINAPI *PFNWGLSETSTEREOEMITTERSTATE3DLPROC)(HDC hDC
D3DXMATRIX *WINAPI D3DXMatrixPerspectiveFovLH(D3DXMATRIX *pOut, FLOAT fovy, FLOAT Aspect, FLOAT zn, FLOAT zf)