2 * Copyright 2007 Vijay Kiran Kamuju
3 * Copyright 2007 David ADAM
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.
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.
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
20 #ifndef __D3DRMDEFS_H__
21 #define __D3DRMDEFS_H__
26 #if defined(__cplusplus)
30 typedef D3DVALUE D3DRMMATRIX4D
[4][4];
31 typedef struct _D3DRMQUATERNION
35 } D3DRMQUATERNION
, *LPD3DRMQUATERNION
;
37 void WINAPI
D3DRMMatrixFromQuaternion(D3DRMMATRIX4D
, LPD3DRMQUATERNION
);
39 LPD3DRMQUATERNION WINAPI
D3DRMQuaternionFromRotation(LPD3DRMQUATERNION
,LPD3DVECTOR
,D3DVALUE
);
40 LPD3DRMQUATERNION WINAPI
D3DRMQuaternionMultiply(LPD3DRMQUATERNION
, LPD3DRMQUATERNION
, LPD3DRMQUATERNION
);
41 LPD3DRMQUATERNION WINAPI
D3DRMQuaternionSlerp(LPD3DRMQUATERNION
, LPD3DRMQUATERNION
, LPD3DRMQUATERNION
, D3DVALUE
);
43 LPD3DVECTOR WINAPI
D3DRMVectorAdd(LPD3DVECTOR
, LPD3DVECTOR
, LPD3DVECTOR
);
44 LPD3DVECTOR WINAPI
D3DRMVectorCrossProduct(LPD3DVECTOR
, LPD3DVECTOR
, LPD3DVECTOR
);
45 D3DVALUE WINAPI
D3DRMVectorDotProduct(LPD3DVECTOR
, LPD3DVECTOR
);
46 LPD3DVECTOR WINAPI
D3DRMVectorNormalize(LPD3DVECTOR
);
48 #define D3DRMVectorNormalise D3DRMVectorNormalize
50 D3DVALUE WINAPI
D3DRMVectorModulus(LPD3DVECTOR
);
51 LPD3DVECTOR WINAPI
D3DRMVectorRandom(LPD3DVECTOR
);
52 LPD3DVECTOR WINAPI
D3DRMVectorRotate(LPD3DVECTOR
, LPD3DVECTOR
, LPD3DVECTOR
, D3DVALUE
);
53 LPD3DVECTOR WINAPI
D3DRMVectorReflect(LPD3DVECTOR
, LPD3DVECTOR
, LPD3DVECTOR
);
54 LPD3DVECTOR WINAPI
D3DRMVectorScale(LPD3DVECTOR
, LPD3DVECTOR
, D3DVALUE
);
55 LPD3DVECTOR WINAPI
D3DRMVectorSubtract(LPD3DVECTOR
, LPD3DVECTOR
, LPD3DVECTOR
);
57 D3DCOLOR WINAPI
D3DRMCreateColorRGB(D3DVALUE
, D3DVALUE
, D3DVALUE
);
58 D3DCOLOR WINAPI
D3DRMCreateColorRGBA(D3DVALUE
, D3DVALUE
, D3DVALUE
, D3DVALUE
);
59 D3DVALUE WINAPI
D3DRMColorGetAlpha(D3DCOLOR
);
60 D3DVALUE WINAPI
D3DRMColorGetBlue(D3DCOLOR
);
61 D3DVALUE WINAPI
D3DRMColorGetGreen(D3DCOLOR
);
62 D3DVALUE WINAPI
D3DRMColorGetRed(D3DCOLOR
);
64 #if defined(__cplusplus)