ReactOS  0.4.13-dev-259-g5ca9c9c
d3dx9math.h
Go to the documentation of this file.
1 /*
2  * Copyright (C) 2007 David Adam
3  * Copyright (C) 2007 Tony Wasserka
4  *
5  * This library is free software; you can redistribute it and/or
6  * modify it under the terms of the GNU Lesser General Public
7  * License as published by the Free Software Foundation; either
8  * version 2.1 of the License, or (at your option) any later version.
9  *
10  * This library is distributed in the hope that it will be useful,
11  * but WITHOUT ANY WARRANTY; without even the implied warranty of
12  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
13  * Lesser General Public License for more details.
14  *
15  * You should have received a copy of the GNU Lesser General Public
16  * License along with this library; if not, write to the Free Software
17  * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA
18  */
19 
20 #include <d3dx9.h>
21 
22 #ifndef __D3DX9MATH_H__
23 #define __D3DX9MATH_H__
24 
25 #include <math.h>
26 
27 #define D3DX_PI ((FLOAT)3.141592654)
28 #define D3DX_1BYPI ((FLOAT)0.318309886)
29 
30 #define D3DXSH_MINORDER 2
31 #define D3DXSH_MAXORDER 6
32 
33 #define D3DXToRadian(degree) ((degree) * (D3DX_PI / 180.0f))
34 #define D3DXToDegree(radian) ((radian) * (180.0f / D3DX_PI))
35 
36 typedef struct D3DXVECTOR2
37 {
38 #ifdef __cplusplus
39  D3DXVECTOR2();
40  D3DXVECTOR2(const FLOAT *pf);
42 
43  operator FLOAT* ();
44  operator const FLOAT* () const;
45 
47  D3DXVECTOR2& operator -= (const D3DXVECTOR2&);
48  D3DXVECTOR2& operator *= (FLOAT);
49  D3DXVECTOR2& operator /= (FLOAT);
50 
51  D3DXVECTOR2 operator + () const;
52  D3DXVECTOR2 operator - () const;
53 
54  D3DXVECTOR2 operator + (const D3DXVECTOR2&) const;
55  D3DXVECTOR2 operator - (const D3DXVECTOR2&) const;
58 
59  friend D3DXVECTOR2 operator * (FLOAT, const D3DXVECTOR2&);
60 
61  BOOL operator == (const D3DXVECTOR2&) const;
62  BOOL operator != (const D3DXVECTOR2&) const;
63 #endif /* __cplusplus */
64  FLOAT x, y;
66 
67 #ifdef __cplusplus
68 typedef struct D3DXVECTOR3 : public D3DVECTOR
69 {
70  D3DXVECTOR3();
71  D3DXVECTOR3(const FLOAT *pf);
72  D3DXVECTOR3(const D3DVECTOR& v);
74 
75  operator FLOAT* ();
76  operator const FLOAT* () const;
77 
79  D3DXVECTOR3& operator -= (const D3DXVECTOR3&);
80  D3DXVECTOR3& operator *= (FLOAT);
81  D3DXVECTOR3& operator /= (FLOAT);
82 
83  D3DXVECTOR3 operator + () const;
84  D3DXVECTOR3 operator - () const;
85 
86  D3DXVECTOR3 operator + (const D3DXVECTOR3&) const;
87  D3DXVECTOR3 operator - (const D3DXVECTOR3&) const;
90 
91  friend D3DXVECTOR3 operator * (FLOAT, const struct D3DXVECTOR3&);
92 
93  BOOL operator == (const D3DXVECTOR3&) const;
94  BOOL operator != (const D3DXVECTOR3&) const;
96 #else /* !__cplusplus */
98 #endif /* !__cplusplus */
99 
100 typedef struct D3DXVECTOR4
101 {
102 #ifdef __cplusplus
103  D3DXVECTOR4();
104  D3DXVECTOR4(const FLOAT *pf);
105  D3DXVECTOR4(FLOAT fx, FLOAT fy, FLOAT fz, FLOAT fw);
106 
107  operator FLOAT* ();
108  operator const FLOAT* () const;
109 
111  D3DXVECTOR4& operator -= (const D3DXVECTOR4&);
112  D3DXVECTOR4& operator *= (FLOAT);
113  D3DXVECTOR4& operator /= (FLOAT);
114 
115  D3DXVECTOR4 operator + () const;
116  D3DXVECTOR4 operator - () const;
117 
118  D3DXVECTOR4 operator + (const D3DXVECTOR4&) const;
119  D3DXVECTOR4 operator - (const D3DXVECTOR4&) const;
122 
123  friend D3DXVECTOR4 operator * (FLOAT, const D3DXVECTOR4&);
124 
125  BOOL operator == (const D3DXVECTOR4&) const;
126  BOOL operator != (const D3DXVECTOR4&) const;
127 #endif /* __cplusplus */
128  FLOAT x, y, z, w;
130 
131 #ifdef __cplusplus
132 typedef struct D3DXMATRIX : public D3DMATRIX
133 {
134  D3DXMATRIX();
135  D3DXMATRIX(const FLOAT *pf);
136  D3DXMATRIX(const D3DMATRIX& mat);
137  D3DXMATRIX(FLOAT f11, FLOAT f12, FLOAT f13, FLOAT f14,
138  FLOAT f21, FLOAT f22, FLOAT f23, FLOAT f24,
139  FLOAT f31, FLOAT f32, FLOAT f33, FLOAT f34,
140  FLOAT f41, FLOAT f42, FLOAT f43, FLOAT f44);
141 
142  FLOAT& operator () (UINT row, UINT col);
143  FLOAT operator () (UINT row, UINT col) const;
144 
145  operator FLOAT* ();
146  operator const FLOAT* () const;
147 
148  D3DXMATRIX& operator *= (const D3DXMATRIX&);
150  D3DXMATRIX& operator -= (const D3DXMATRIX&);
151  D3DXMATRIX& operator *= (FLOAT);
152  D3DXMATRIX& operator /= (FLOAT);
153 
154  D3DXMATRIX operator + () const;
155  D3DXMATRIX operator - () const;
156 
157  D3DXMATRIX operator * (const D3DXMATRIX&) const;
158  D3DXMATRIX operator + (const D3DXMATRIX&) const;
159  D3DXMATRIX operator - (const D3DXMATRIX&) const;
162 
163  friend D3DXMATRIX operator * (FLOAT, const D3DXMATRIX&);
164 
165  BOOL operator == (const D3DXMATRIX&) const;
166  BOOL operator != (const D3DXMATRIX&) const;
168 #else /* !__cplusplus */
170 #endif /* !__cplusplus */
171 
172 typedef struct D3DXQUATERNION
173 {
174 #ifdef __cplusplus
175  D3DXQUATERNION();
176  D3DXQUATERNION(const FLOAT *pf);
178 
179  operator FLOAT* ();
180  operator const FLOAT* () const;
181 
183  D3DXQUATERNION& operator -= (const D3DXQUATERNION&);
184  D3DXQUATERNION& operator *= (const D3DXQUATERNION&);
185  D3DXQUATERNION& operator *= (FLOAT);
186  D3DXQUATERNION& operator /= (FLOAT);
187 
188  D3DXQUATERNION operator + () const;
189  D3DXQUATERNION operator - () const;
190 
192  D3DXQUATERNION operator - (const D3DXQUATERNION&) const;
196 
198 
199  BOOL operator == (const D3DXQUATERNION&) const;
200  BOOL operator != (const D3DXQUATERNION&) const;
201 #endif /* __cplusplus */
202  FLOAT x, y, z, w;
204 
205 typedef struct D3DXPLANE
206 {
207 #ifdef __cplusplus
208  D3DXPLANE();
209  D3DXPLANE(const FLOAT *pf);
211 
212  operator FLOAT* ();
213  operator const FLOAT* () const;
214 
215  D3DXPLANE operator + () const;
216  D3DXPLANE operator - () const;
217 
218  BOOL operator == (const D3DXPLANE&) const;
219  BOOL operator != (const D3DXPLANE&) const;
220 #endif /* __cplusplus */
221  FLOAT a, b, c, d;
223 
224 typedef struct D3DXCOLOR
225 {
226 #ifdef __cplusplus
227  D3DXCOLOR();
228  D3DXCOLOR(DWORD col);
229  D3DXCOLOR(const FLOAT *pf);
230  D3DXCOLOR(const D3DCOLORVALUE& col);
231  D3DXCOLOR(FLOAT fr, FLOAT fg, FLOAT fb, FLOAT fa);
232 
233  operator DWORD () const;
234 
235  operator FLOAT* ();
236  operator const FLOAT* () const;
237 
238  operator D3DCOLORVALUE* ();
239  operator const D3DCOLORVALUE* () const;
240 
241  operator D3DCOLORVALUE& ();
242  operator const D3DCOLORVALUE& () const;
243 
245  D3DXCOLOR& operator -= (const D3DXCOLOR&);
246  D3DXCOLOR& operator *= (FLOAT);
247  D3DXCOLOR& operator /= (FLOAT);
248 
249  D3DXCOLOR operator + () const;
250  D3DXCOLOR operator - () const;
251 
252  D3DXCOLOR operator + (const D3DXCOLOR&) const;
253  D3DXCOLOR operator - (const D3DXCOLOR&) const;
254  D3DXCOLOR operator * (FLOAT) const;
255  D3DXCOLOR operator / (FLOAT) const;
256 
257  friend D3DXCOLOR operator * (FLOAT, const D3DXCOLOR&);
258 
259  BOOL operator == (const D3DXCOLOR&) const;
260  BOOL operator != (const D3DXCOLOR&) const;
261 #endif /* __cplusplus */
262  FLOAT r, g, b, a;
264 
265 typedef struct D3DXFLOAT16
266 {
267 #ifdef __cplusplus
268  D3DXFLOAT16();
270  D3DXFLOAT16(const D3DXFLOAT16 &f);
271 
272  operator FLOAT ();
273 
274  BOOL operator == (const D3DXFLOAT16 &) const;
275  BOOL operator != (const D3DXFLOAT16 &) const;
276 #endif /* __cplusplus */
279 
280 #ifdef __cplusplus
281 extern "C" {
282 #endif
283 
286 
287 FLOAT WINAPI D3DXFresnelTerm(FLOAT costheta, FLOAT refractionindex);
288 
289 D3DXMATRIX* WINAPI D3DXMatrixAffineTransformation(D3DXMATRIX *pout, FLOAT scaling, const D3DXVECTOR3 *rotationcenter, const D3DXQUATERNION *rotation,
290  const D3DXVECTOR3 *translation);
291 D3DXMATRIX* WINAPI D3DXMatrixAffineTransformation2D(D3DXMATRIX *pout, FLOAT scaling, const D3DXVECTOR2 *protationcenter, FLOAT rotation,
292  const D3DXVECTOR2 *ptranslation);
293 HRESULT WINAPI D3DXMatrixDecompose(D3DXVECTOR3 *poutscale, D3DXQUATERNION *poutrotation, D3DXVECTOR3 *pouttranslation, const D3DXMATRIX *pm);
295 D3DXMATRIX* WINAPI D3DXMatrixInverse(D3DXMATRIX *pout, FLOAT *pdeterminant, const D3DXMATRIX *pm);
296 D3DXMATRIX* WINAPI D3DXMatrixLookAtLH(D3DXMATRIX *pout, const D3DXVECTOR3 *peye, const D3DXVECTOR3 *pat, const D3DXVECTOR3 *pup);
297 D3DXMATRIX* WINAPI D3DXMatrixLookAtRH(D3DXMATRIX *pout, const D3DXVECTOR3 *peye, const D3DXVECTOR3 *pat, const D3DXVECTOR3 *pup);
298 D3DXMATRIX* WINAPI D3DXMatrixMultiply(D3DXMATRIX *pout, const D3DXMATRIX *pm1, const D3DXMATRIX *pm2);
318 D3DXMATRIX* WINAPI D3DXMatrixShadow(D3DXMATRIX *pout, const D3DXVECTOR4 *plight, const D3DXPLANE *pPlane);
319 D3DXMATRIX* WINAPI D3DXMatrixTransformation(D3DXMATRIX *pout, const D3DXVECTOR3 *pscalingcenter, const D3DXQUATERNION *pscalingrotation, const D3DXVECTOR3 *pscaling, const D3DXVECTOR3 *protationcenter,
320  const D3DXQUATERNION *protation, const D3DXVECTOR3 *ptranslation);
321 D3DXMATRIX* WINAPI D3DXMatrixTransformation2D(D3DXMATRIX *pout, const D3DXVECTOR2 *pscalingcenter, FLOAT scalingrotation, const D3DXVECTOR2 *pscaling,
322  const D3DXVECTOR2 *protationcenter, FLOAT rotation, const D3DXVECTOR2 *ptranslation);
325 
326 D3DXPLANE* WINAPI D3DXPlaneFromPointNormal(D3DXPLANE *pout, const D3DXVECTOR3 *pvpoint, const D3DXVECTOR3 *pvnormal);
327 D3DXPLANE* WINAPI D3DXPlaneFromPoints(D3DXPLANE *pout, const D3DXVECTOR3 *pv1, const D3DXVECTOR3 *pv2, const D3DXVECTOR3 *pv3);
330 D3DXPLANE* WINAPI D3DXPlaneTransform(D3DXPLANE *pout, const D3DXPLANE *pplane, const D3DXMATRIX *pm);
331 D3DXPLANE* WINAPI D3DXPlaneTransformArray(D3DXPLANE *pout, UINT outstride, const D3DXPLANE *pplane, UINT pstride, const D3DXMATRIX *pm, UINT n);
332 
344  const D3DXQUATERNION *pq4, FLOAT t);
346  const D3DXQUATERNION *pq1, const D3DXQUATERNION *pq2, const D3DXQUATERNION *pq3);
347 void WINAPI D3DXQuaternionToAxisAngle(const D3DXQUATERNION *pq, D3DXVECTOR3 *paxis, FLOAT *pangle);
348 
350 D3DXVECTOR2* WINAPI D3DXVec2CatmullRom(D3DXVECTOR2 *pout, const D3DXVECTOR2 *pv0, const D3DXVECTOR2 *pv1, const D3DXVECTOR2 *pv2, const D3DXVECTOR2 *pv3, FLOAT s);
351 D3DXVECTOR2* WINAPI D3DXVec2Hermite(D3DXVECTOR2 *pout, const D3DXVECTOR2 *pv1, const D3DXVECTOR2 *pt1, const D3DXVECTOR2 *pv2, const D3DXVECTOR2 *pt2, FLOAT s);
359 
361 D3DXVECTOR3* WINAPI D3DXVec3CatmullRom( D3DXVECTOR3 *pout, const D3DXVECTOR3 *pv0, const D3DXVECTOR3 *pv1, const D3DXVECTOR3 *pv2, const D3DXVECTOR3 *pv3, FLOAT s);
362 D3DXVECTOR3* WINAPI D3DXVec3Hermite(D3DXVECTOR3 *pout, const D3DXVECTOR3 *pv1, const D3DXVECTOR3 *pt1, const D3DXVECTOR3 *pv2, const D3DXVECTOR3 *pt2, FLOAT s);
364 D3DXVECTOR3* WINAPI D3DXVec3Project(D3DXVECTOR3 *pout, const D3DXVECTOR3 *pv, const D3DVIEWPORT9 *pviewport, const D3DXMATRIX *pprojection,
365  const D3DXMATRIX *pview, const D3DXMATRIX *pworld);
366 D3DXVECTOR3* WINAPI D3DXVec3ProjectArray(D3DXVECTOR3 *pout, UINT outstride, const D3DXVECTOR3 *pv, UINT vstride, const D3DVIEWPORT9 *pviewport,
367  const D3DXMATRIX *pprojection, const D3DXMATRIX *pview, const D3DXMATRIX *pworld, UINT n);
374 D3DXVECTOR3* WINAPI D3DXVec3Unproject(D3DXVECTOR3 *pout, const D3DXVECTOR3 *pv, const D3DVIEWPORT9 *pviewport, const D3DXMATRIX *pprojection,
375  const D3DXMATRIX *pview, const D3DXMATRIX *pworld);
376 D3DXVECTOR3* WINAPI D3DXVec3UnprojectArray(D3DXVECTOR3 *pout, UINT outstride, const D3DXVECTOR3 *pv, UINT vstride, const D3DVIEWPORT9 *pviewport,
377  const D3DXMATRIX *pprojection, const D3DXMATRIX *pview, const D3DXMATRIX *pworld, UINT n);
379 D3DXVECTOR4* WINAPI D3DXVec4CatmullRom(D3DXVECTOR4 *pout, const D3DXVECTOR4 *pv0, const D3DXVECTOR4 *pv1, const D3DXVECTOR4 *pv2, const D3DXVECTOR4 *pv3, FLOAT s);
380 D3DXVECTOR4* WINAPI D3DXVec4Cross(D3DXVECTOR4 *pout, const D3DXVECTOR4 *pv1, const D3DXVECTOR4 *pv2, const D3DXVECTOR4 *pv3);
381 D3DXVECTOR4* WINAPI D3DXVec4Hermite(D3DXVECTOR4 *pout, const D3DXVECTOR4 *pv1, const D3DXVECTOR4 *pt1, const D3DXVECTOR4 *pv2, const D3DXVECTOR4 *pt2, FLOAT s);
385 
388 
389 FLOAT* WINAPI D3DXSHAdd(FLOAT *out, UINT order, const FLOAT *a, const FLOAT *b);
390 FLOAT WINAPI D3DXSHDot(UINT order, const FLOAT *a, const FLOAT *b);
391 HRESULT WINAPI D3DXSHEvalConeLight(UINT order, const D3DXVECTOR3 *dir, FLOAT radius, FLOAT Rintensity, FLOAT Gintensity, FLOAT Bintensity, FLOAT *rout, FLOAT *gout, FLOAT *bout);
393 HRESULT WINAPI D3DXSHEvalDirectionalLight(UINT order, const D3DXVECTOR3 *dir, FLOAT Rintensity, FLOAT Gintensity, FLOAT Bintensity, FLOAT *rout, FLOAT *gout, FLOAT *bout);
395 HRESULT WINAPI D3DXSHEvalSphericalLight(UINT order, const D3DXVECTOR3 *dir, FLOAT radius, FLOAT Rintensity, FLOAT Gintensity, FLOAT Bintensity, FLOAT *rout, FLOAT *gout, FLOAT *bout);
396 FLOAT* WINAPI D3DXSHMultiply2(FLOAT *out, const FLOAT *a, const FLOAT *b);
397 FLOAT* WINAPI D3DXSHMultiply3(FLOAT *out, const FLOAT *a, const FLOAT *b);
398 FLOAT* WINAPI D3DXSHMultiply4(FLOAT *out, const FLOAT *a, const FLOAT *b);
402 
403 #ifdef __cplusplus
404 }
405 #endif
406 
407 typedef interface ID3DXMatrixStack *LPD3DXMATRIXSTACK;
408 
409 DEFINE_GUID(IID_ID3DXMatrixStack,
410 0xc7885ba7, 0xf990, 0x4fe7, 0x92, 0x2d, 0x85, 0x15, 0xe4, 0x77, 0xdd, 0x85);
411 
412 #undef INTERFACE
413 #define INTERFACE ID3DXMatrixStack
414 
415 DECLARE_INTERFACE_(ID3DXMatrixStack, IUnknown)
416 {
420  STDMETHOD(Pop)(THIS) PURE;
421  STDMETHOD(Push)(THIS) PURE;
422  STDMETHOD(LoadIdentity)(THIS) PURE;
423  STDMETHOD(LoadMatrix)(THIS_ const D3DXMATRIX* pM ) PURE;
424  STDMETHOD(MultMatrix)(THIS_ const D3DXMATRIX* pM ) PURE;
425  STDMETHOD(MultMatrixLocal)(THIS_ const D3DXMATRIX* pM ) PURE;
426  STDMETHOD(RotateAxis)(THIS_ const D3DXVECTOR3* pV, FLOAT Angle) PURE;
427  STDMETHOD(RotateAxisLocal)(THIS_ const D3DXVECTOR3* pV, FLOAT Angle) PURE;
428  STDMETHOD(RotateYawPitchRoll)(THIS_ FLOAT Yaw, FLOAT Pitch, FLOAT Roll) PURE;
429  STDMETHOD(RotateYawPitchRollLocal)(THIS_ FLOAT Yaw, FLOAT Pitch, FLOAT Roll) PURE;
430  STDMETHOD(Scale)(THIS_ FLOAT x, FLOAT y, FLOAT z) PURE;
431  STDMETHOD(ScaleLocal)(THIS_ FLOAT x, FLOAT y, FLOAT z) PURE;
432  STDMETHOD(Translate)(THIS_ FLOAT x, FLOAT y, FLOAT z ) PURE;
433  STDMETHOD(TranslateLocal)(THIS_ FLOAT x, FLOAT y, FLOAT z) PURE;
434  STDMETHOD_(D3DXMATRIX*, GetTop)(THIS) PURE;
435 };
436 
437 #undef INTERFACE
438 
439 #if !defined(__cplusplus) || defined(CINTERFACE)
440 
441 #define ID3DXMatrixStack_QueryInterface(p,a,b) (p)->lpVtbl->QueryInterface(p,a,b)
442 #define ID3DXMatrixStack_AddRef(p) (p)->lpVtbl->AddRef(p)
443 #define ID3DXMatrixStack_Release(p) (p)->lpVtbl->Release(p)
444 #define ID3DXMatrixStack_Pop(p) (p)->lpVtbl->Pop(p)
445 #define ID3DXMatrixStack_Push(p) (p)->lpVtbl->Push(p)
446 #define ID3DXMatrixStack_LoadIdentity(p) (p)->lpVtbl->LoadIdentity(p)
447 #define ID3DXMatrixStack_LoadMatrix(p,a) (p)->lpVtbl->LoadMatrix(p,a)
448 #define ID3DXMatrixStack_MultMatrix(p,a) (p)->lpVtbl->MultMatrix(p,a)
449 #define ID3DXMatrixStack_MultMatrixLocal(p,a) (p)->lpVtbl->MultMatrixLocal(p,a)
450 #define ID3DXMatrixStack_RotateAxis(p,a,b) (p)->lpVtbl->RotateAxis(p,a,b)
451 #define ID3DXMatrixStack_RotateAxisLocal(p,a,b) (p)->lpVtbl->RotateAxisLocal(p,a,b)
452 #define ID3DXMatrixStack_RotateYawPitchRoll(p,a,b,c) (p)->lpVtbl->RotateYawPitchRoll(p,a,b,c)
453 #define ID3DXMatrixStack_RotateYawPitchRollLocal(p,a,b,c) (p)->lpVtbl->RotateYawPitchRollLocal(p,a,b,c)
454 #define ID3DXMatrixStack_Scale(p,a,b,c) (p)->lpVtbl->Scale(p,a,b,c)
455 #define ID3DXMatrixStack_ScaleLocal(p,a,b,c) (p)->lpVtbl->ScaleLocal(p,a,b,c)
456 #define ID3DXMatrixStack_Translate(p,a,b,c) (p)->lpVtbl->Translate(p,a,b,c)
457 #define ID3DXMatrixStack_TranslateLocal(p,a,b,c) (p)->lpVtbl->TranslateLocal(p,a,b,c)
458 #define ID3DXMatrixStack_GetTop(p) (p)->lpVtbl->GetTop(p)
459 
460 #endif
461 
462 #ifdef __cplusplus
463 extern "C" {
464 #endif
465 
466 HRESULT WINAPI D3DXCreateMatrixStack(DWORD flags, ID3DXMatrixStack **stack);
467 
468 #ifdef __cplusplus
469 }
470 #endif
471 
472 #include <d3dx9math.inl>
473 
474 #endif /* __D3DX9MATH_H__ */
D3DXMATRIX *WINAPI D3DXMatrixScaling(D3DXMATRIX *pout, FLOAT sx, FLOAT sy, FLOAT sz)
Definition: math.c:708
GLdouble GLdouble GLint GLint GLdouble GLdouble GLint vstride
Definition: glext.h:8308
GLuint GLdouble GLdouble GLint GLint order
Definition: glext.h:11194
struct D3DXVECTOR4 D3DXVECTOR4
#define REFIID
Definition: guiddef.h:113
FLOAT *WINAPI D3DXSHMultiply2(FLOAT *out, const FLOAT *a, const FLOAT *b)
Definition: math.c:2567
struct _D3DVECTOR * LPD3DXVECTOR3
Definition: d3dx9math.h:97
GLubyte GLubyte GLubyte GLubyte w
Definition: glext.h:6102
WORD value
Definition: d3dx9math.h:277
D3DXQUATERNION *WINAPI D3DXQuaternionBaryCentric(D3DXQUATERNION *pout, const D3DXQUATERNION *pq1, const D3DXQUATERNION *pq2, const D3DXQUATERNION *pq3, FLOAT f, FLOAT g)
Definition: math.c:1352
D3DXPLANE *WINAPI D3DXPlaneFromPointNormal(D3DXPLANE *pout, const D3DXVECTOR3 *pvpoint, const D3DXVECTOR3 *pvnormal)
Definition: math.c:1248
D3DXMATRIX *WINAPI D3DXMatrixOrthoRH(D3DXMATRIX *pout, FLOAT w, FLOAT h, FLOAT zn, FLOAT zf)
Definition: math.c:467
#define THIS_
Definition: basetyps.h:65
complex< _Tp > _STLP_CALL operator *(const _Tp &__x, const complex< _Tp > &__z)
Definition: _complex.h:644
D3DXMATRIX *WINAPI D3DXMatrixPerspectiveFovLH(D3DXMATRIX *pout, FLOAT fovy, FLOAT aspect, FLOAT zn, FLOAT zf)
Definition: math.c:479
D3DXVECTOR4 *WINAPI D3DXVec4TransformArray(D3DXVECTOR4 *pout, UINT outstride, const D3DXVECTOR4 *pv, UINT vstride, const D3DXMATRIX *pm, UINT n)
Definition: math.c:2131
struct D3DXFLOAT16 D3DXFLOAT16
D3DXMATRIX *WINAPI D3DXMatrixInverse(D3DXMATRIX *pout, FLOAT *pdeterminant, const D3DXMATRIX *pm)
Definition: math.c:254
FLOAT y
Definition: d3dx9math.h:64
_In_ BOOLEAN Release
Definition: classpnp.h:929
#define FLOAT
Definition: i386-dis.c:516
D3DXMATRIX *WINAPI D3DXMatrixPerspectiveOffCenterRH(D3DXMATRIX *pout, FLOAT l, FLOAT r, FLOAT b, FLOAT t, FLOAT zn, FLOAT zf)
Definition: math.c:537
D3DXMATRIX *WINAPI D3DXMatrixPerspectiveFovRH(D3DXMATRIX *pout, FLOAT fovy, FLOAT aspect, FLOAT zn, FLOAT zf)
Definition: math.c:493
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)
Definition: math.c:2029
#define THIS
Definition: basetyps.h:66
D3DXMATRIX *WINAPI D3DXMatrixMultiply(D3DXMATRIX *pout, const D3DXMATRIX *pm1, const D3DXMATRIX *pm2)
Definition: math.c:393
REFIID riid
Definition: precomp.h:44
GLuint GLenum matrix
Definition: glext.h:9407
GLdouble GLdouble GLdouble r
Definition: gl.h:2055
D3DXMATRIX *WINAPI D3DXMatrixRotationQuaternion(D3DXMATRIX *pout, const D3DXQUATERNION *pq)
Definition: math.c:622
D3DXQUATERNION *WINAPI D3DXQuaternionSquad(D3DXQUATERNION *pout, const D3DXQUATERNION *pq1, const D3DXQUATERNION *pq2, const D3DXQUATERNION *pq3, const D3DXQUATERNION *pq4, FLOAT t)
Definition: math.c:1575
GLenum GLenum GLenum GLenum GLenum scale
Definition: glext.h:9032
D3DXMATRIX *WINAPI D3DXMatrixRotationYawPitchRoll(D3DXMATRIX *pout, FLOAT yaw, FLOAT pitch, FLOAT roll)
Definition: math.c:663
static LPMONITOREX pm
Definition: localmon.c:42
D3DXVECTOR2 *WINAPI D3DXVec2TransformCoord(D3DXVECTOR2 *pout, const D3DXVECTOR2 *pv, const D3DXMATRIX *pm)
Definition: math.c:1753
struct D3DXVECTOR2 D3DXVECTOR2
GLdouble n
Definition: glext.h:7729
D3DXVECTOR2 *WINAPI D3DXVec2Hermite(D3DXVECTOR2 *pout, const D3DXVECTOR2 *pv1, const D3DXVECTOR2 *pt1, const D3DXVECTOR2 *pv2, const D3DXVECTOR2 *pt2, FLOAT s)
Definition: math.c:1687
D3DXVECTOR4 *WINAPI D3DXVec4Hermite(D3DXVECTOR4 *pout, const D3DXVECTOR4 *pv1, const D3DXVECTOR4 *pt1, const D3DXVECTOR4 *pv2, const D3DXVECTOR4 *pt2, FLOAT s)
Definition: math.c:2083
D3DXMATRIX *WINAPI D3DXMatrixOrthoOffCenterLH(D3DXMATRIX *pout, FLOAT l, FLOAT r, FLOAT b, FLOAT t, FLOAT zn, FLOAT zf)
Definition: math.c:439
GLdouble GLdouble t
Definition: gl.h:2047
FLOAT d
Definition: d3dx9math.h:221
FLOAT WINAPI D3DXFresnelTerm(FLOAT costheta, FLOAT refractionindex)
Definition: math.c:73
FLOAT g
Definition: d3dx9math.h:262
GLint GLint GLint GLint GLint x
Definition: gl.h:1548
D3DXMATRIX *WINAPI D3DXMatrixAffineTransformation(D3DXMATRIX *pout, FLOAT scaling, const D3DXVECTOR3 *rotationcenter, const D3DXQUATERNION *rotation, const D3DXVECTOR3 *translation)
Definition: math.c:90
static int fd
Definition: io.c:51
static const MAT2 mat
Definition: font.c:66
D3DXVECTOR4 *WINAPI D3DXVec3Transform(D3DXVECTOR4 *pout, const D3DXVECTOR3 *pv, const D3DXMATRIX *pm)
Definition: math.c:1910
FLOAT a
Definition: d3dx9math.h:262
D3DXVECTOR3 *WINAPI D3DXVec3Normalize(D3DXVECTOR3 *pout, const D3DXVECTOR3 *pv)
Definition: math.c:1849
D3DXQUATERNION *WINAPI D3DXQuaternionRotationMatrix(D3DXQUATERNION *pout, const D3DXMATRIX *pm)
Definition: math.c:1467
D3DXMATRIX *WINAPI D3DXMatrixAffineTransformation2D(D3DXMATRIX *pout, FLOAT scaling, const D3DXVECTOR2 *protationcenter, FLOAT rotation, const D3DXVECTOR2 *ptranslation)
Definition: math.c:149
GLfloat angle
Definition: glext.h:10853
NTSTATUS QueryInterface(IN PDEVICE_OBJECT DeviceObject, IN CONST GUID InterfaceType, IN LONG Size, IN LONG Version, OUT PVOID Interface)
Definition: fdo.c:532
HRESULT WINAPI D3DXMatrixDecompose(D3DXVECTOR3 *poutscale, D3DXQUATERNION *poutrotation, D3DXVECTOR3 *pouttranslation, const D3DXMATRIX *pm)
Definition: math.c:187
D3DXVECTOR4 *WINAPI D3DXVec4Normalize(D3DXVECTOR4 *pout, const D3DXVECTOR4 *pv)
Definition: math.c:2101
FLOAT r
Definition: d3dx9math.h:262
D3DXMATRIX *WINAPI D3DXMatrixReflect(D3DXMATRIX *pout, const D3DXPLANE *pplane)
Definition: math.c:567
struct D3DXPLANE D3DXPLANE
#define DWORD
Definition: nt_native.h:44
HRESULT WINAPI D3DXCreateMatrixStack(DWORD flags, ID3DXMatrixStack **stack)
Definition: math.c:1215
#define STDMETHOD(m)
Definition: basetyps.h:62
FLOAT *WINAPI D3DXSHRotate(FLOAT *out, UINT order, const D3DXMATRIX *matrix, const FLOAT *in)
Definition: math.c:3020
GLfloat GLfloat GLfloat GLfloat h
Definition: glext.h:7723
D3DXQUATERNION *WINAPI D3DXQuaternionNormalize(D3DXQUATERNION *pout, const D3DXQUATERNION *pq)
Definition: math.c:1435
Definition: regsvr.c:103
FLOAT *WINAPI D3DXSHAdd(FLOAT *out, UINT order, const FLOAT *a, const FLOAT *b)
Definition: math.c:2281
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)
Definition: math.c:1894
D3DXVECTOR2 *WINAPI D3DXVec2CatmullRom(D3DXVECTOR2 *pout, const D3DXVECTOR2 *pv0, const D3DXVECTOR2 *pv1, const D3DXVECTOR2 *pv2, const D3DXVECTOR2 *pv3, FLOAT s)
Definition: math.c:1678
D3DXMATRIX *WINAPI D3DXMatrixPerspectiveOffCenterLH(D3DXMATRIX *pout, FLOAT l, FLOAT r, FLOAT b, FLOAT t, FLOAT zn, FLOAT zf)
Definition: math.c:521
D3DXFLOAT16 *WINAPI D3DXFloat32To16Array(D3DXFLOAT16 *pout, const FLOAT *pin, UINT n)
Definition: math.c:2231
D3DXQUATERNION *WINAPI D3DXQuaternionLn(D3DXQUATERNION *pout, const D3DXQUATERNION *pq)
Definition: math.c:1402
FLOAT *WINAPI D3DXSHEvalDirection(FLOAT *out, UINT order, const D3DXVECTOR3 *dir)
Definition: math.c:2380
unsigned int BOOL
Definition: ntddk_ex.h:94
D3DXMATRIX *WINAPI D3DXMatrixLookAtRH(D3DXMATRIX *pout, const D3DXVECTOR3 *peye, const D3DXVECTOR3 *pat, const D3DXVECTOR3 *pup)
Definition: math.c:360
D3DXVECTOR2 *WINAPI D3DXVec2BaryCentric(D3DXVECTOR2 *pout, const D3DXVECTOR2 *pv1, const D3DXVECTOR2 *pv2, const D3DXVECTOR2 *pv3, FLOAT f, FLOAT g)
Definition: math.c:1669
DEFINE_GUID(IID_ID3DXMatrixStack, 0xc7885ba7, 0xf990, 0x4fe7, 0x92, 0x2d, 0x85, 0x15, 0xe4, 0x77, 0xdd, 0x85)
#define pp
Definition: hlsl.yy.c:978
struct D3DXVECTOR2 * LPD3DXVECTOR2
GLdouble GLdouble z
Definition: glext.h:5874
D3DXQUATERNION *WINAPI D3DXQuaternionMultiply(D3DXQUATERNION *pout, const D3DXQUATERNION *pq1, const D3DXQUATERNION *pq2)
Definition: math.c:1421
FLOAT *WINAPI D3DXSHScale(FLOAT *out, UINT order, const FLOAT *a, const FLOAT scale)
Definition: math.c:3151
D3DXVECTOR4 *WINAPI D3DXVec2Transform(D3DXVECTOR4 *pout, const D3DXVECTOR2 *pv, const D3DXMATRIX *pm)
Definition: math.c:1724
D3DXQUATERNION *WINAPI D3DXQuaternionRotationYawPitchRoll(D3DXQUATERNION *pout, FLOAT yaw, FLOAT pitch, FLOAT roll)
Definition: math.c:1523
GLint GLint bottom
Definition: glext.h:7726
D3DXPLANE *WINAPI D3DXPlaneTransformArray(D3DXPLANE *pout, UINT outstride, const D3DXPLANE *pplane, UINT pstride, const D3DXMATRIX *pm, UINT n)
Definition: math.c:1335
D3DXVECTOR2 *WINAPI D3DXVec2TransformCoordArray(D3DXVECTOR2 *pout, UINT outstride, const D3DXVECTOR2 *pv, UINT vstride, const D3DXMATRIX *pm, UINT n)
Definition: math.c:1769
unsigned int dir
Definition: maze.c:112
struct _D3DMATRIX * LPD3DXMATRIX
Definition: d3dx9math.h:169
D3DXVECTOR4 *WINAPI D3DXVec4CatmullRom(D3DXVECTOR4 *pout, const D3DXVECTOR4 *pv0, const D3DXVECTOR4 *pv1, const D3DXVECTOR4 *pv2, const D3DXVECTOR4 *pv3, FLOAT s)
Definition: math.c:2058
struct D3DXCOLOR D3DXCOLOR
r l[0]
Definition: byte_order.h:167
Definition: _stack.h:47
D3DXMATRIX *WINAPI D3DXMatrixPerspectiveLH(D3DXMATRIX *pout, FLOAT w, FLOAT h, FLOAT zn, FLOAT zf)
Definition: math.c:507
D3DXMATRIX *WINAPI D3DXMatrixTranspose(D3DXMATRIX *pout, const D3DXMATRIX *pm)
Definition: math.c:921
D3DXVECTOR4 *WINAPI D3DXVec2TransformArray(D3DXVECTOR4 *pout, UINT outstride, const D3DXVECTOR2 *pv, UINT vstride, const D3DXMATRIX *pm, UINT n)
Definition: math.c:1738
GLboolean GLboolean g
Definition: glext.h:6204
D3DXMATRIX *WINAPI D3DXMatrixOrthoLH(D3DXMATRIX *pout, FLOAT w, FLOAT h, FLOAT zn, FLOAT zf)
Definition: math.c:427
GLfloat f
Definition: glext.h:7540
GLboolean GLboolean GLboolean b
Definition: glext.h:6204
D3DXMATRIX *WINAPI D3DXMatrixTransformation(D3DXMATRIX *pout, const D3DXVECTOR3 *pscalingcenter, const D3DXQUATERNION *pscalingrotation, const D3DXVECTOR3 *pscaling, const D3DXVECTOR3 *protationcenter, const D3DXQUATERNION *protation, const D3DXVECTOR3 *ptranslation)
Definition: math.c:747
D3DXMATRIX *WINAPI D3DXMatrixRotationAxis(D3DXMATRIX *pout, const D3DXVECTOR3 *pv, FLOAT angle)
Definition: math.c:590
D3DXVECTOR4 *WINAPI D3DXVec4BaryCentric(D3DXVECTOR4 *pout, const D3DXVECTOR4 *pv1, const D3DXVECTOR4 *pv2, const D3DXVECTOR4 *pv3, FLOAT f, FLOAT g)
Definition: math.c:2047
D3DXMATRIX *WINAPI D3DXMatrixShadow(D3DXMATRIX *pout, const D3DXVECTOR4 *plight, const D3DXPLANE *pPlane)
Definition: math.c:719
D3DXVECTOR4 *WINAPI D3DXVec3TransformArray(D3DXVECTOR4 *pout, UINT outstride, const D3DXVECTOR3 *pv, UINT vstride, const D3DXMATRIX *pm, UINT n)
Definition: math.c:1924
struct _D3DMATRIX D3DXMATRIX
Definition: d3dx9math.h:169
bool operator !=(const SortClass &lhs, const SortClass &rhs)
Definition: SortClass.h:70
HRESULT WINAPI D3DXSHEvalConeLight(UINT order, const D3DXVECTOR3 *dir, FLOAT radius, FLOAT Rintensity, FLOAT Gintensity, FLOAT Bintensity, FLOAT *rout, FLOAT *gout, FLOAT *bout)
Definition: math.c:2336
D3DXVECTOR3 *WINAPI D3DXVec3Hermite(D3DXVECTOR3 *pout, const D3DXVECTOR3 *pv1, const D3DXVECTOR3 *pt1, const D3DXVECTOR3 *pv2, const D3DXVECTOR3 *pt2, FLOAT s)
Definition: math.c:1832
LONG HRESULT
Definition: typedefs.h:77
FLOAT *WINAPI D3DXSHMultiply4(FLOAT *out, const FLOAT *a, const FLOAT *b)
Definition: math.c:2683
FLOAT x
Definition: d3dx9math.h:64
#define WINAPI
Definition: msvc.h:8
struct _D3DVECTOR D3DXVECTOR3
Definition: d3dx9math.h:97
unsigned short WORD
Definition: ntddk_ex.h:93
static FILE * out
Definition: regtests2xml.c:44
unsigned long DWORD
Definition: ntddk_ex.h:95
LPFOR_CONTEXT fc
Definition: for.c:53
interface ID3DXMatrixStack * LPD3DXMATRIXSTACK
Definition: d3dx9math.h:407
D3DXVECTOR3 *WINAPI D3DXVec3TransformNormal(D3DXVECTOR3 *pout, const D3DXVECTOR3 *pv, const D3DXMATRIX *pm)
Definition: math.c:1972
D3DXVECTOR3 *WINAPI D3DXVec3Unproject(D3DXVECTOR3 *pout, const D3DXVECTOR3 *pv, const D3DVIEWPORT9 *pviewport, const D3DXMATRIX *pprojection, const D3DXMATRIX *pview, const D3DXMATRIX *pworld)
Definition: math.c:2000
D3DXVECTOR3 *WINAPI D3DXVec3BaryCentric(D3DXVECTOR3 *pout, const D3DXVECTOR3 *pv1, const D3DXVECTOR3 *pv2, const D3DXVECTOR3 *pv3, FLOAT f, FLOAT g)
Definition: math.c:1812
D3DXVECTOR4 *WINAPI D3DXVec4Cross(D3DXVECTOR4 *pout, const D3DXVECTOR4 *pv1, const D3DXVECTOR4 *pv2, const D3DXVECTOR4 *pv3)
Definition: math.c:2069
GLbitfield flags
Definition: glext.h:7161
D3DXCOLOR *WINAPI D3DXColorAdjustSaturation(D3DXCOLOR *pout, const D3DXCOLOR *pc, FLOAT s)
Definition: math.c:57
D3DXMATRIX *WINAPI D3DXMatrixRotationY(D3DXMATRIX *pout, FLOAT angle)
Definition: math.c:651
struct D3DXCOLOR * LPD3DXCOLOR
bool operator==(const TKeyDef &t1, const TKeyDef &t2)
Definition: tkeydef.cpp:122
CHString WINAPI operator+(WCHAR ch, const CHString &string)
Definition: chstring.cpp:1337
struct D3DXPLANE * LPD3DXPLANE
D3DXQUATERNION *WINAPI D3DXQuaternionInverse(D3DXQUATERNION *pout, const D3DXQUATERNION *pq)
Definition: math.c:1387
D3DXMATRIX *WINAPI D3DXMatrixOrthoOffCenterRH(D3DXMATRIX *pout, FLOAT l, FLOAT r, FLOAT b, FLOAT t, FLOAT zn, FLOAT zf)
Definition: math.c:453
D3DXMATRIX *WINAPI D3DXMatrixTransformation2D(D3DXMATRIX *pout, const D3DXVECTOR2 *pscalingcenter, FLOAT scalingrotation, const D3DXVECTOR2 *pscaling, const D3DXVECTOR2 *protationcenter, FLOAT rotation, const D3DXVECTOR2 *ptranslation)
Definition: math.c:835
HRESULT WINAPI D3DXSHEvalHemisphereLight(UINT order, const D3DXVECTOR3 *dir, D3DXCOLOR top, D3DXCOLOR bottom, FLOAT *rout, FLOAT *gout, FLOAT *bout)
Definition: math.c:2479
GLfixed fx
Definition: tritemp.h:482
GLdouble s
Definition: gl.h:2039
FLOAT b
Definition: d3dx9math.h:262
FLOAT c
Definition: d3dx9math.h:221
void WINAPI D3DXQuaternionToAxisAngle(const D3DXQUATERNION *pq, D3DXVECTOR3 *paxis, FLOAT *pangle)
Definition: math.c:1653
FLOAT WINAPI D3DXSHDot(UINT order, const FLOAT *a, const FLOAT *b)
Definition: math.c:2293
D3DXVECTOR2 *WINAPI D3DXVec2TransformNormalArray(D3DXVECTOR2 *pout, UINT outstride, const D3DXVECTOR2 *pv, UINT vstride, const D3DXMATRIX *pm, UINT n)
Definition: math.c:1795
D3DXQUATERNION *WINAPI D3DXQuaternionRotationAxis(D3DXQUATERNION *pout, const D3DXVECTOR3 *pv, FLOAT angle)
Definition: math.c:1451
FLOAT WINAPI D3DXMatrixDeterminant(const D3DXMATRIX *pm)
Definition: math.c:232
FLOAT b
Definition: d3dx9math.h:221
FLOAT *WINAPI D3DXFloat16To32Array(FLOAT *pout, const D3DXFLOAT16 *pin, UINT n)
Definition: math.c:2265
DECLARE_INTERFACE_(ID3DXMatrixStack, IUnknown)
Definition: d3dx9math.h:415
const GLdouble * v
Definition: gl.h:2040
GLuint in
Definition: glext.h:9616
rope< _CharT, _Alloc > & operator+=(rope< _CharT, _Alloc > &__left, const rope< _CharT, _Alloc > &__right)
Definition: _rope.h:2202
D3DXVECTOR3 *WINAPI D3DXPlaneIntersectLine(D3DXVECTOR3 *pout, const D3DXPLANE *pp, const D3DXVECTOR3 *pv1, const D3DXVECTOR3 *pv2)
Definition: math.c:1275
D3DXCOLOR *WINAPI D3DXColorAdjustContrast(D3DXCOLOR *pout, const D3DXCOLOR *pc, FLOAT s)
Definition: math.c:46
#define PURE
Definition: basetyps.h:64
D3DXMATRIX *WINAPI D3DXMatrixLookAtLH(D3DXMATRIX *pout, const D3DXVECTOR3 *peye, const D3DXVECTOR3 *pat, const D3DXVECTOR3 *pup)
Definition: math.c:327
unsigned int UINT
Definition: ndis.h:50
D3DXMATRIX *WINAPI D3DXMatrixPerspectiveRH(D3DXMATRIX *pout, FLOAT w, FLOAT h, FLOAT zn, FLOAT zf)
Definition: math.c:553
D3DXVECTOR3 *WINAPI D3DXVec3TransformCoordArray(D3DXVECTOR3 *pout, UINT outstride, const D3DXVECTOR3 *pv, UINT vstride, const D3DXMATRIX *pm, UINT n)
Definition: math.c:1957
static ULONG WINAPI AddRef(IStream *iface)
Definition: clist.c:90
GLint GLint GLint GLint GLint GLint y
Definition: gl.h:1548
struct D3DXQUATERNION D3DXQUATERNION
D3DXVECTOR3 *WINAPI D3DXVec3TransformNormalArray(D3DXVECTOR3 *pout, UINT outstride, const D3DXVECTOR3 *pv, UINT vstride, const D3DXMATRIX *pm, UINT n)
Definition: math.c:1985
D3DXMATRIX *WINAPI D3DXMatrixRotationX(D3DXMATRIX *pout, FLOAT angle)
Definition: math.c:639
D3DXVECTOR4 *WINAPI D3DXVec4Transform(D3DXVECTOR4 *pout, const D3DXVECTOR4 *pv, const D3DXMATRIX *pm)
Definition: math.c:2117
D3DXVECTOR3 *WINAPI D3DXVec3TransformCoord(D3DXVECTOR3 *pout, const D3DXVECTOR3 *pv, const D3DXMATRIX *pm)
Definition: math.c:1939
D3DXQUATERNION *WINAPI D3DXQuaternionExp(D3DXQUATERNION *pout, const D3DXQUATERNION *pq)
Definition: math.c:1362
float FLOAT
Definition: typedefs.h:67
D3DXPLANE *WINAPI D3DXPlaneNormalize(D3DXPLANE *pout, const D3DXPLANE *pp)
Definition: math.c:1297
D3DXVECTOR3 *WINAPI D3DXVec3CatmullRom(D3DXVECTOR3 *pout, const D3DXVECTOR3 *pv0, const D3DXVECTOR3 *pv1, const D3DXVECTOR3 *pv2, const D3DXVECTOR3 *pv3, FLOAT s)
Definition: math.c:1822
unsigned int ULONG
Definition: retypes.h:1
D3DXMATRIX *WINAPI D3DXMatrixRotationZ(D3DXMATRIX *pout, FLOAT angle)
Definition: math.c:696
struct D3DXQUATERNION * LPD3DXQUATERNION
D3DXMATRIX *WINAPI D3DXMatrixTranslation(D3DXMATRIX *pout, FLOAT x, FLOAT y, FLOAT z)
Definition: math.c:910
GLfixed fy
Definition: tritemp.h:490
GLdouble GLdouble GLdouble GLdouble top
Definition: glext.h:10859
D3DXMATRIX *WINAPI D3DXMatrixMultiplyTranspose(D3DXMATRIX *pout, const D3DXMATRIX *pm1, const D3DXMATRIX *pm2)
Definition: math.c:412
FLOAT *WINAPI D3DXSHRotateZ(FLOAT *out, UINT order, FLOAT angle, const FLOAT *in)
Definition: math.c:3105
struct D3DXVECTOR4 * LPD3DXVECTOR4
GLboolean GLboolean GLboolean GLboolean a
Definition: glext.h:6204
complex< _Tp > _STLP_CALL operator/(const _Tp &__x, const complex< _Tp > &__z)
Definition: _complex.h:652
D3DXVECTOR2 *WINAPI D3DXVec2TransformNormal(D3DXVECTOR2 *pout, const D3DXVECTOR2 *pv, const D3DXMATRIX *pm)
Definition: math.c:1784
#define STDMETHOD_(t, m)
Definition: basetyps.h:63
D3DXQUATERNION *WINAPI D3DXQuaternionSlerp(D3DXQUATERNION *pout, const D3DXQUATERNION *pq1, const D3DXQUATERNION *pq2, FLOAT t)
Definition: math.c:1544
FLOAT a
Definition: d3dx9math.h:221
D3DXVECTOR2 *WINAPI D3DXVec2Normalize(D3DXVECTOR2 *pout, const D3DXVECTOR2 *pv)
Definition: math.c:1703
D3DXPLANE *WINAPI D3DXPlaneFromPoints(D3DXPLANE *pout, const D3DXVECTOR3 *pv1, const D3DXVECTOR3 *pv2, const D3DXVECTOR3 *pv3)
Definition: math.c:1259
struct D3DXFLOAT16 * LPD3DXFLOAT16
D3DXVECTOR3 *WINAPI D3DXVec3Project(D3DXVECTOR3 *pout, const D3DXVECTOR3 *pv, const D3DVIEWPORT9 *pviewport, const D3DXMATRIX *pprojection, const D3DXMATRIX *pview, const D3DXMATRIX *pworld)
Definition: math.c:1872
void WINAPI D3DXQuaternionSquadSetup(D3DXQUATERNION *paout, D3DXQUATERNION *pbout, D3DXQUATERNION *pcout, const D3DXQUATERNION *pq0, const D3DXQUATERNION *pq1, const D3DXQUATERNION *pq2, const D3DXQUATERNION *pq3)
Definition: math.c:1597
HRESULT WINAPI D3DXSHEvalDirectionalLight(UINT order, const D3DXVECTOR3 *dir, FLOAT Rintensity, FLOAT Gintensity, FLOAT Bintensity, FLOAT *rout, FLOAT *gout, FLOAT *bout)
Definition: math.c:2450
D3DXPLANE *WINAPI D3DXPlaneTransform(D3DXPLANE *pout, const D3DXPLANE *pplane, const D3DXMATRIX *pm)
Definition: math.c:1322
HRESULT WINAPI D3DXSHEvalSphericalLight(UINT order, const D3DXVECTOR3 *dir, FLOAT radius, FLOAT Rintensity, FLOAT Gintensity, FLOAT Bintensity, FLOAT *rout, FLOAT *gout, FLOAT *bout)
Definition: math.c:2525
struct png_info_def *typedef unsigned char **typedef struct png_info_def *typedef struct png_info_def *typedef struct png_info_def *typedef unsigned char ** row
Definition: typeof.h:78
FLOAT *WINAPI D3DXSHMultiply3(FLOAT *out, const FLOAT *a, const FLOAT *b)
Definition: math.c:2584
f_args fa
Definition: format.c:280