]> gitweb.factorcode.org Git - factor.git/blob - basis/windows/directx/d3dx9math/d3dx9math.factor
factor: FUNCTION: rename by hand...
[factor.git] / basis / windows / directx / d3dx9math / d3dx9math.factor
1 USING: math classes.struct windows.types alien.syntax windows.directx.d3d9types
2 windows.com.syntax windows.com windows.directx windows.directx.d3d9 ;
3 IN: windows.directx.d3dx9math
4
5 LIBRARY: d3dx9
6
7 CONSTANT: D3DX_PI    3.141592654
8 CONSTANT: D3DX_1BYPI 0.318309886
9
10 : D3DXToRadian ( degree -- radian ) D3DX_PI 180.0 / * ; inline
11 : D3DXToDegree ( radian -- degree ) 180.0 D3DX_PI / * ; inline
12
13 CONSTANT: D3DX_16F_DIG          3
14 CONSTANT: D3DX_16F_EPSILON      4.8875809e-4
15 CONSTANT: D3DX_16F_MANT_DIG     11
16 CONSTANT: D3DX_16F_MAX          6.550400e+004
17 CONSTANT: D3DX_16F_MAX_10_EXP   4
18 CONSTANT: D3DX_16F_MAX_EXP      15
19 CONSTANT: D3DX_16F_MIN          6.1035156e-5
20 CONSTANT: D3DX_16F_MIN_10_EXP   -4
21 CONSTANT: D3DX_16F_MIN_EXP      -14
22 CONSTANT: D3DX_16F_RADIX        2
23 CONSTANT: D3DX_16F_ROUNDS       1
24
25 STRUCT: D3DXFLOAT16
26     { value WORD } ;
27 TYPEDEF: D3DXFLOAT16* LPD3DXFLOAT16
28
29 STRUCT: D3DXVECTOR2
30     { x FLOAT }
31     { y FLOAT } ;
32 TYPEDEF: D3DXVECTOR2* LPD3DXVECTOR2
33
34 STRUCT: D3DXVECTOR2_16F
35     { x D3DXFLOAT16 }
36     { y D3DXFLOAT16 } ;
37 TYPEDEF: D3DXVECTOR2_16F* LPD3DXVECTOR2_16F
38
39 TYPEDEF: D3DVECTOR D3DXVECTOR3
40 TYPEDEF: D3DXVECTOR3* LPD3DXVECTOR3
41
42 STRUCT: D3DXVECTOR3_16F
43     { x D3DXFLOAT16 }
44     { y D3DXFLOAT16 }
45     { z D3DXFLOAT16 } ;
46 TYPEDEF: D3DXVECTOR3_16F* LPD3DXVECTOR3_16F
47
48 STRUCT: D3DXVECTOR4
49     { x FLOAT }
50     { y FLOAT }
51     { z FLOAT }
52     { w FLOAT } ;
53 TYPEDEF: D3DXVECTOR4* LPD3DXVECTOR4
54
55 STRUCT: D3DXVECTOR4_16F
56     { x D3DXFLOAT16 }
57     { y D3DXFLOAT16 }
58     { z D3DXFLOAT16 }
59     { w D3DXFLOAT16 } ;
60 TYPEDEF: D3DXVECTOR4_16F* LPD3DXVECTOR4_16F
61
62 TYPEDEF: D3DMATRIX D3DXMATRIX
63 TYPEDEF: D3DXMATRIX* LPD3DXMATRIX
64 TYPEDEF: D3DXMATRIX D3DXMATRIXA16
65 TYPEDEF: D3DXMATRIXA16* LPD3DXMATRIXA16
66
67 STRUCT: D3DXQUATERNION
68     { x FLOAT }
69     { y FLOAT }
70     { z FLOAT }
71     { w FLOAT } ;
72 TYPEDEF: D3DXQUATERNION* LPD3DXQUATERNION
73
74 STRUCT: D3DXPLANE
75     { a FLOAT }
76     { b FLOAT }
77     { c FLOAT }
78     { d FLOAT } ;
79 TYPEDEF: D3DXPLANE* LPD3DXPLANE
80
81 STRUCT: D3DXCOLOR
82     { r FLOAT }
83     { g FLOAT }
84     { b FLOAT }
85     { a FLOAT } ;
86 TYPEDEF: D3DXCOLOR* LPD3DXCOLOR
87
88 C-TYPE: ID3DXMatrixStack
89 TYPEDEF: ID3DXMatrixStack* LPD3DXMATRIXSTACK
90
91 COM-INTERFACE: ID3DXMatrixStack IUnknown {C7885BA7-F990-4fe7-922D-8515E477DD85}
92     HRESULT Pop ( )
93     HRESULT Push ( )
94     HRESULT LoadIdentity ( )
95     HRESULT LoadMatrix ( D3DXMATRIX* pM  )
96     HRESULT MultMatrix ( D3DXMATRIX* pM  )
97     HRESULT MultMatrixLocal ( D3DXMATRIX* pM  )
98     HRESULT RotateAxis ( D3DXVECTOR3* pV, FLOAT Angle )
99     HRESULT RotateAxisLocal ( D3DXVECTOR3* pV, FLOAT Angle )
100     HRESULT RotateYawPitchRoll ( FLOAT Yaw, FLOAT Pitch, FLOAT Roll )
101     HRESULT RotateYawPitchRollLocal ( FLOAT Yaw, FLOAT Pitch, FLOAT Roll )
102     HRESULT Scale ( FLOAT x, FLOAT y, FLOAT z )
103     HRESULT ScaleLocal ( FLOAT x, FLOAT y, FLOAT z )
104     HRESULT Translate ( FLOAT x, FLOAT y, FLOAT z  )
105     HRESULT TranslateLocal ( FLOAT x, FLOAT y, FLOAT z )
106     D3DXMATRIX* GetTop ( ) ;
107
108 FUNCTION: HRESULT D3DXCreateMatrixStack (
109         DWORD               Flags,
110         LPD3DXMATRIXSTACK*  ppStack )
111
112 CONSTANT: D3DXSH_MINORDER 2
113 CONSTANT: D3DXSH_MAXORDER 6
114
115 FUNCTION: FLOAT* D3DXSHEvalDirection
116     ( FLOAT* Out, UINT Order, D3DXVECTOR3 *pDir )
117
118 FUNCTION: FLOAT* D3DXSHRotate
119     ( FLOAT* Out, UINT Order, D3DXMATRIX *pMatrix, FLOAT* In )
120
121 FUNCTION: FLOAT* D3DXSHRotateZ
122     ( FLOAT* Out, UINT Order, FLOAT Angle, FLOAT* In )
123
124 FUNCTION: FLOAT* D3DXSHAdd
125     ( FLOAT* Out, UINT Order, FLOAT* A, FLOAT* B )
126
127 FUNCTION: FLOAT* D3DXSHScale
128     ( FLOAT* Out, UINT Order, FLOAT* In, FLOAT Scale )
129
130 FUNCTION: FLOAT WINAPI ( UINT Order, FLOAT* A, FLOAT* B )
131
132 FUNCTION: FLOAT* D3DXSHMultiply2 ( FLOAT* Out, FLOAT* F, FLOAT* G )
133 FUNCTION: FLOAT* D3DXSHMultiply3 ( FLOAT* Out, FLOAT* F, FLOAT* G )
134 FUNCTION: FLOAT* D3DXSHMultiply4 ( FLOAT* Out, FLOAT* F, FLOAT* G )
135 FUNCTION: FLOAT* D3DXSHMultiply5 ( FLOAT* Out, FLOAT* F, FLOAT* G )
136 FUNCTION: FLOAT* D3DXSHMultiply6 ( FLOAT* Out, FLOAT* F, FLOAT* G )
137
138 FUNCTION: HRESULT D3DXSHEvalDirectionalLight
139     ( UINT Order, D3DXVECTOR3* pDir,
140       FLOAT RIntensity, FLOAT GIntensity, FLOAT BIntensity,
141       FLOAT* ROut, FLOAT* GOut, FLOAT* BOut )
142
143 FUNCTION: HRESULT D3DXSHEvalSphericalLight
144     ( UINT Order, D3DXVECTOR3* pPos, FLOAT Radius,
145       FLOAT RIntensity, FLOAT GIntensity, FLOAT BIntensity,
146       FLOAT* ROut, FLOAT* GOut, FLOAT* BOut )
147
148 FUNCTION: HRESULT D3DXSHEvalConeLight
149     ( UINT Order, D3DXVECTOR3* pDir, FLOAT Radius,
150       FLOAT RIntensity, FLOAT GIntensity, FLOAT BIntensity,
151       FLOAT* ROut, FLOAT* GOut, FLOAT* BOut )
152
153 FUNCTION: HRESULT D3DXSHEvalHemisphereLight
154     ( UINT Order, D3DXVECTOR3* pDir, D3DXCOLOR Top, D3DXCOLOR Bottom,
155       FLOAT* ROut, FLOAT* GOut, FLOAT* BOut )
156
157 FUNCTION: HRESULT D3DXSHProjectCubeMap
158     ( UINT uOrder, LPDIRECT3DCUBETEXTURE9 pCubeMap,
159       FLOAT* ROut, FLOAT* GOut, FLOAT* BOut )