]> gitweb.factorcode.org Git - factor.git/blob - basis/windows/directx/d3dx9effect/d3dx9effect.factor
ce0afa522c93176136224c5f3577c92822ad8c18
[factor.git] / basis / windows / directx / d3dx9effect / d3dx9effect.factor
1 USING: alien.syntax classes.struct math windows.com
2 windows.com.syntax windows.directx windows.directx.d3d9
3 windows.directx.d3d9types windows.directx.d3dx9core
4 windows.directx.d3dx9math windows.directx.d3dx9shader
5 windows.types ;
6 IN: windows.directx.d3dx9effect
7
8 LIBRARY: d3dx9
9
10 CONSTANT: D3DXFX_DONOTSAVESTATE         1
11 CONSTANT: D3DXFX_DONOTSAVESHADERSTATE   2
12 CONSTANT: D3DXFX_DONOTSAVESAMPLERSTATE  4
13
14 : D3DXFX_NOT_CLONEABLE     ( -- n ) 1 11 shift ; inline
15 : D3DXFX_LARGEADDRESSAWARE ( -- n ) 1 17 shift ; inline
16
17 CONSTANT: D3DX_PARAMETER_SHARED       1
18 CONSTANT: D3DX_PARAMETER_LITERAL      2
19 CONSTANT: D3DX_PARAMETER_ANNOTATION   4
20
21 STRUCT: D3DXEFFECT_DESC
22     { Creator    LPCSTR }
23     { Parameters UINT   }
24     { Techniques UINT   }
25     { Functions  UINT   } ;
26
27 STRUCT: D3DXPARAMETER_DESC
28     { Name          LPCSTR              }
29     { Semantic      LPCSTR              }
30     { Class         D3DXPARAMETER_CLASS }
31     { Type          D3DXPARAMETER_TYPE  }
32     { Rows          UINT                }
33     { Columns       UINT                }
34     { Elements      UINT                }
35     { Annotations   UINT                }
36     { StructMembers UINT                }
37     { Flags         DWORD               }
38     { Bytes         UINT                } ;
39
40 STRUCT: D3DXTECHNIQUE_DESC
41     { Name        LPCSTR }
42     { Passes      UINT   }
43     { Annotations UINT   }  ;
44
45 STRUCT: D3DXPASS_DESC
46     { Name                  LPCSTR }
47     { Annotations           UINT   }
48     { pVertexShaderFunction DWORD* }
49     { pPixelShaderFunction  DWORD* } ;
50
51 STRUCT: D3DXFUNCTION_DESC
52     { Name        LPCSTR }
53     { Annotations UINT   } ;
54
55 C-TYPE: ID3DXEffectPool
56 TYPEDEF: ID3DXEffectPool* LPD3DXEFFECTPOOL
57
58 COM-INTERFACE: ID3DXEffectPool IUnknown {9537AB04-3250-412e-8213-FCD2F8677933} ;
59
60 C-TYPE: ID3DXBaseEffect
61 TYPEDEF: ID3DXBaseEffect* LPD3DXBASEEFFECT
62
63 COM-INTERFACE: ID3DXBaseEffect IUnknown {017C18AC-103F-4417-8C51-6BF6EF1E56BE}
64     HRESULT GetDesc ( D3DXEFFECT_DESC* pDesc )
65     HRESULT GetParameterDesc ( D3DXHANDLE hParameter, D3DXPARAMETER_DESC* pDesc )
66     HRESULT GetTechniqueDesc ( D3DXHANDLE hTechnique, D3DXTECHNIQUE_DESC* pDesc )
67     HRESULT GetPassDesc ( D3DXHANDLE hPass, D3DXPASS_DESC* pDesc )
68     HRESULT GetFunctionDesc ( D3DXHANDLE hShader, D3DXFUNCTION_DESC* pDesc )
69     D3DXHANDLE GetParameter ( D3DXHANDLE hParameter, UINT Index )
70     D3DXHANDLE GetParameterByName ( D3DXHANDLE hParameter, LPCSTR pName )
71     D3DXHANDLE GetParameterBySemantic ( D3DXHANDLE hParameter, LPCSTR pSemantic )
72     D3DXHANDLE GetParameterElement ( D3DXHANDLE hParameter, UINT Index )
73     D3DXHANDLE GetTechnique ( UINT Index )
74     D3DXHANDLE GetTechniqueByName ( LPCSTR pName )
75     D3DXHANDLE GetPass ( D3DXHANDLE hTechnique, UINT Index )
76     D3DXHANDLE GetPassByName ( D3DXHANDLE hTechnique, LPCSTR pName )
77     D3DXHANDLE GetFunction ( UINT Index )
78     D3DXHANDLE GetFunctionByName ( LPCSTR pName )
79     D3DXHANDLE GetAnnotation ( D3DXHANDLE hObject, UINT Index )
80     D3DXHANDLE GetAnnotationByName ( D3DXHANDLE hObject, LPCSTR pName )
81     HRESULT SetValue ( D3DXHANDLE hParameter, LPCVOID pData, UINT Bytes )
82     HRESULT GetValue ( D3DXHANDLE hParameter, LPVOID pData, UINT Bytes )
83     HRESULT SetBool ( D3DXHANDLE hParameter, BOOL b )
84     HRESULT GetBool ( D3DXHANDLE hParameter, BOOL* pb )
85     HRESULT SetBoolArray ( D3DXHANDLE hParameter, BOOL* pb, UINT Count )
86     HRESULT GetBoolArray ( D3DXHANDLE hParameter, BOOL* pb, UINT Count )
87     HRESULT SetInt ( D3DXHANDLE hParameter, INT n )
88     HRESULT GetInt ( D3DXHANDLE hParameter, INT* pn )
89     HRESULT SetIntArray ( D3DXHANDLE hParameter, INT* pn, UINT Count )
90     HRESULT GetIntArray ( D3DXHANDLE hParameter, INT* pn, UINT Count )
91     HRESULT SetFloat ( D3DXHANDLE hParameter, FLOAT f )
92     HRESULT GetFloat ( D3DXHANDLE hParameter, FLOAT* pf )
93     HRESULT SetFloatArray ( D3DXHANDLE hParameter, FLOAT* pf, UINT Count )
94     HRESULT GetFloatArray ( D3DXHANDLE hParameter, FLOAT* pf, UINT Count )
95     HRESULT SetVector ( D3DXHANDLE hParameter, D3DXVECTOR4* pVector )
96     HRESULT GetVector ( D3DXHANDLE hParameter, D3DXVECTOR4* pVector )
97     HRESULT SetVectorArray ( D3DXHANDLE hParameter, D3DXVECTOR4* pVector, UINT Count )
98     HRESULT GetVectorArray ( D3DXHANDLE hParameter, D3DXVECTOR4* pVector, UINT Count )
99     HRESULT SetMatrix ( D3DXHANDLE hParameter, D3DXMATRIX* pMatrix )
100     HRESULT GetMatrix ( D3DXHANDLE hParameter, D3DXMATRIX* pMatrix )
101     HRESULT SetMatrixArray ( D3DXHANDLE hParameter, D3DXMATRIX* pMatrix, UINT Count )
102     HRESULT GetMatrixArray ( D3DXHANDLE hParameter, D3DXMATRIX* pMatrix, UINT Count )
103     HRESULT SetMatrixPointerArray ( D3DXHANDLE hParameter, D3DXMATRIX** ppMatrix, UINT Count )
104     HRESULT GetMatrixPointerArray ( D3DXHANDLE hParameter, D3DXMATRIX** ppMatrix, UINT Count )
105     HRESULT SetMatrixTranspose ( D3DXHANDLE hParameter, D3DXMATRIX* pMatrix )
106     HRESULT GetMatrixTranspose ( D3DXHANDLE hParameter, D3DXMATRIX* pMatrix )
107     HRESULT SetMatrixTransposeArray ( D3DXHANDLE hParameter, D3DXMATRIX* pMatrix, UINT Count )
108     HRESULT GetMatrixTransposeArray ( D3DXHANDLE hParameter, D3DXMATRIX* pMatrix, UINT Count )
109     HRESULT SetMatrixTransposePointerArray ( D3DXHANDLE hParameter, D3DXMATRIX** ppMatrix, UINT Count )
110     HRESULT GetMatrixTransposePointerArray ( D3DXHANDLE hParameter, D3DXMATRIX** ppMatrix, UINT Count )
111     HRESULT SetString ( D3DXHANDLE hParameter, LPCSTR pString )
112     HRESULT GetString ( D3DXHANDLE hParameter, LPCSTR* ppString )
113     HRESULT SetTexture ( D3DXHANDLE hParameter, LPDIRECT3DBASETEXTURE9 pTexture )
114     HRESULT GetTexture ( D3DXHANDLE hParameter, LPDIRECT3DBASETEXTURE9* ppTexture )
115     HRESULT GetPixelShader ( D3DXHANDLE hParameter, LPDIRECT3DPIXELSHADER9* ppPShader )
116     HRESULT GetVertexShader ( D3DXHANDLE hParameter, LPDIRECT3DVERTEXSHADER9* ppVShader )
117     HRESULT SetArrayRange ( D3DXHANDLE hParameter, UINT uStart, UINT uEnd ) ;
118
119 C-TYPE: ID3DXEffectStateManager
120 TYPEDEF: ID3DXEffectStateManager* LPD3DXEFFECTSTATEMANAGER
121
122 COM-INTERFACE: ID3DXEffectStateManager IUnknown {79AAB587-6DBC-4fa7-82DE-37FA1781C5CE}
123     HRESULT SetTransform ( D3DTRANSFORMSTATETYPE State, D3DMATRIX* pMatrix )
124     HRESULT SetMaterial ( D3DMATERIAL9* pMaterial )
125     HRESULT SetLight ( DWORD Index, D3DLIGHT9* pLight )
126     HRESULT LightEnable ( DWORD Index, BOOL Enable )
127     HRESULT SetRenderState ( D3DRENDERSTATETYPE State, DWORD Value )
128     HRESULT SetTexture ( DWORD Stage, LPDIRECT3DBASETEXTURE9 pTexture )
129     HRESULT SetTextureStageState ( DWORD Stage, D3DTEXTURESTAGESTATETYPE Type, DWORD Value )
130     HRESULT SetSamplerState ( DWORD Sampler, D3DSAMPLERSTATETYPE Type, DWORD Value )
131     HRESULT SetNPatchMode ( FLOAT NumSegments )
132     HRESULT SetFVF ( DWORD FVF )
133     HRESULT SetVertexShader ( LPDIRECT3DVERTEXSHADER9 pShader )
134     HRESULT SetVertexShaderConstantF ( UINT RegisterIndex, FLOAT* pConstantData, UINT RegisterCount )
135     HRESULT SetVertexShaderConstantI ( UINT RegisterIndex, INT* pConstantData, UINT RegisterCount )
136     HRESULT SetVertexShaderConstantB ( UINT RegisterIndex, BOOL* pConstantData, UINT RegisterCount )
137     HRESULT SetPixelShader ( LPDIRECT3DPIXELSHADER9 pShader )
138     HRESULT SetPixelShaderConstantF ( UINT RegisterIndex, FLOAT* pConstantData, UINT RegisterCount )
139     HRESULT SetPixelShaderConstantI ( UINT RegisterIndex, INT* pConstantData, UINT RegisterCount )
140     HRESULT SetPixelShaderConstantB ( UINT RegisterIndex, BOOL* pConstantData, UINT RegisterCount ) ;
141
142 C-TYPE: ID3DXEffect
143 TYPEDEF: ID3DXEffect* LPD3DXEFFECT
144
145 COM-INTERFACE: ID3DXEffect ID3DXBaseEffect {F6CEB4B3-4E4C-40dd-B883-8D8DE5EA0CD5}
146     HRESULT GetPool ( LPD3DXEFFECTPOOL* ppPool )
147     HRESULT SetTechnique ( D3DXHANDLE hTechnique )
148     D3DXHANDLE GetCurrentTechnique ( )
149     HRESULT ValidateTechnique ( D3DXHANDLE hTechnique )
150     HRESULT FindNextValidTechnique ( D3DXHANDLE hTechnique, D3DXHANDLE* pTechnique )
151     BOOL IsParameterUsed ( D3DXHANDLE hParameter, D3DXHANDLE hTechnique )
152     HRESULT Begin ( UINT* pPasses, DWORD Flags )
153     HRESULT BeginPass ( UINT Pass )
154     HRESULT CommitChanges ( )
155     HRESULT EndPass ( )
156     HRESULT End ( )
157     HRESULT GetDevice ( LPDIRECT3DDEVICE9* ppDevice )
158     HRESULT OnLostDevice ( )
159     HRESULT OnResetDevice ( )
160     HRESULT SetStateManager ( LPD3DXEFFECTSTATEMANAGER pManager )
161     HRESULT GetStateManager ( LPD3DXEFFECTSTATEMANAGER* ppManager )
162     HRESULT BeginParameterBlock ( )
163     D3DXHANDLE EndParameterBlock ( )
164     HRESULT ApplyParameterBlock ( D3DXHANDLE hParameterBlock )
165     HRESULT DeleteParameterBlock ( D3DXHANDLE hParameterBlock )
166     HRESULT CloneEffect ( LPDIRECT3DDEVICE9 pDevice, LPD3DXEFFECT* ppEffect )
167     HRESULT SetRawValue ( D3DXHANDLE hParameter, LPCVOID pData, UINT ByteOffset, UINT Bytes ) ;
168
169 C-TYPE: ID3DXEffectCompiler
170 TYPEDEF: ID3DXEffectCompiler* LPD3DXEFFECTCOMPILER
171
172 COM-INTERFACE: ID3DXEffectCompiler ID3DXBaseEffect {51B8A949-1A31-47e6-BEA0-4B30DB53F1E0}
173     HRESULT SetLiteral ( D3DXHANDLE hParameter, BOOL Literal )
174     HRESULT GetLiteral ( D3DXHANDLE hParameter, BOOL* pLiteral )
175     HRESULT CompileEffect ( DWORD Flags, LPD3DXBUFFER* ppEffect, LPD3DXBUFFER* ppErrorMsgs )
176     HRESULT CompileShader ( D3DXHANDLE hFunction, LPCSTR pTarget, DWORD Flags,
177                             LPD3DXBUFFER* ppShader, LPD3DXBUFFER* ppErrorMsgs,
178                             LPD3DXCONSTANTTABLE* ppConstantTable ) ;
179
180 FUNCTION: HRESULT
181     D3DXCreateEffectPool ( LPD3DXEFFECTPOOL* ppPool ) ;
182
183 FUNCTION: HRESULT
184     D3DXCreateEffectFromFileA (
185         LPDIRECT3DDEVICE9               pDevice,
186         LPCSTR                          pSrcFile,
187         D3DXMACRO*                      pDefines,
188         LPD3DXINCLUDE                   pInclude,
189         DWORD                           Flags,
190         LPD3DXEFFECTPOOL                pPool,
191         LPD3DXEFFECT*                   ppEffect,
192         LPD3DXBUFFER*                   ppCompilationErrors ) ;
193
194 FUNCTION: HRESULT
195     D3DXCreateEffectFromFileW (
196         LPDIRECT3DDEVICE9               pDevice,
197         LPCWSTR                         pSrcFile,
198         D3DXMACRO*                      pDefines,
199         LPD3DXINCLUDE                   pInclude,
200         DWORD                           Flags,
201         LPD3DXEFFECTPOOL                pPool,
202         LPD3DXEFFECT*                   ppEffect,
203         LPD3DXBUFFER*                   ppCompilationErrors ) ;
204
205 ALIAS: D3DXCreateEffectFromFile D3DXCreateEffectFromFileW
206
207 FUNCTION: HRESULT
208     D3DXCreateEffectFromResourceA (
209         LPDIRECT3DDEVICE9               pDevice,
210         HMODULE                         hSrcModule,
211         LPCSTR                          pSrcResource,
212         D3DXMACRO*                      pDefines,
213         LPD3DXINCLUDE                   pInclude,
214         DWORD                           Flags,
215         LPD3DXEFFECTPOOL                pPool,
216         LPD3DXEFFECT*                   ppEffect,
217         LPD3DXBUFFER*                   ppCompilationErrors ) ;
218
219 FUNCTION: HRESULT
220     D3DXCreateEffectFromResourceW (
221         LPDIRECT3DDEVICE9               pDevice,
222         HMODULE                         hSrcModule,
223         LPCWSTR                         pSrcResource,
224         D3DXMACRO*                      pDefines,
225         LPD3DXINCLUDE                   pInclude,
226         DWORD                           Flags,
227         LPD3DXEFFECTPOOL                pPool,
228         LPD3DXEFFECT*                   ppEffect,
229         LPD3DXBUFFER*                   ppCompilationErrors ) ;
230
231 ALIAS: D3DXCreateEffectFromResource D3DXCreateEffectFromResourceW
232
233 FUNCTION: HRESULT
234     D3DXCreateEffect (
235         LPDIRECT3DDEVICE9               pDevice,
236         LPCVOID                         pSrcData,
237         UINT                            SrcDataLen,
238         D3DXMACRO*                      pDefines,
239         LPD3DXINCLUDE                   pInclude,
240         DWORD                           Flags,
241         LPD3DXEFFECTPOOL                pPool,
242         LPD3DXEFFECT*                   ppEffect,
243         LPD3DXBUFFER*                   ppCompilationErrors ) ;
244
245 FUNCTION: HRESULT
246     D3DXCreateEffectFromFileExA (
247         LPDIRECT3DDEVICE9               pDevice,
248         LPCSTR                          pSrcFile,
249         D3DXMACRO*                      pDefines,
250         LPD3DXINCLUDE                   pInclude,
251         LPCSTR                          pSkipConstants,
252         DWORD                           Flags,
253         LPD3DXEFFECTPOOL                pPool,
254         LPD3DXEFFECT*                   ppEffect,
255         LPD3DXBUFFER*                   ppCompilationErrors ) ;
256
257 FUNCTION: HRESULT
258     D3DXCreateEffectFromFileExW (
259         LPDIRECT3DDEVICE9               pDevice,
260         LPCWSTR                         pSrcFile,
261         D3DXMACRO*                      pDefines,
262         LPD3DXINCLUDE                   pInclude,
263         LPCSTR                          pSkipConstants,
264         DWORD                           Flags,
265         LPD3DXEFFECTPOOL                pPool,
266         LPD3DXEFFECT*                   ppEffect,
267         LPD3DXBUFFER*                   ppCompilationErrors ) ;
268
269 ALIAS: D3DXCreateEffectFromFileEx D3DXCreateEffectFromFileExW
270
271 FUNCTION: HRESULT
272     D3DXCreateEffectFromResourceExA (
273         LPDIRECT3DDEVICE9               pDevice,
274         HMODULE                         hSrcModule,
275         LPCSTR                          pSrcResource,
276         D3DXMACRO*                      pDefines,
277         LPD3DXINCLUDE                   pInclude,
278         LPCSTR                          pSkipConstants,
279         DWORD                           Flags,
280         LPD3DXEFFECTPOOL                pPool,
281         LPD3DXEFFECT*                   ppEffect,
282         LPD3DXBUFFER*                   ppCompilationErrors ) ;
283
284 FUNCTION: HRESULT
285     D3DXCreateEffectFromResourceExW (
286         LPDIRECT3DDEVICE9               pDevice,
287         HMODULE                         hSrcModule,
288         LPCWSTR                         pSrcResource,
289         D3DXMACRO*                      pDefines,
290         LPD3DXINCLUDE                   pInclude,
291         LPCSTR                          pSkipConstants,
292         DWORD                           Flags,
293         LPD3DXEFFECTPOOL                pPool,
294         LPD3DXEFFECT*                   ppEffect,
295         LPD3DXBUFFER*                   ppCompilationErrors ) ;
296
297 ALIAS: D3DXCreateEffectFromResourceEx D3DXCreateEffectFromResourceExW
298
299 FUNCTION: HRESULT
300     D3DXCreateEffectEx (
301         LPDIRECT3DDEVICE9               pDevice,
302         LPCVOID                         pSrcData,
303         UINT                            SrcDataLen,
304         D3DXMACRO*                      pDefines,
305         LPD3DXINCLUDE                   pInclude,
306         LPCSTR                          pSkipConstants,
307         DWORD                           Flags,
308         LPD3DXEFFECTPOOL                pPool,
309         LPD3DXEFFECT*                   ppEffect,
310         LPD3DXBUFFER*                   ppCompilationErrors ) ;
311
312 FUNCTION: HRESULT
313     D3DXCreateEffectCompilerFromFileA (
314         LPCSTR                          pSrcFile,
315         D3DXMACRO*                      pDefines,
316         LPD3DXINCLUDE                   pInclude,
317         DWORD                           Flags,
318         LPD3DXEFFECTCOMPILER*           ppCompiler,
319         LPD3DXBUFFER*                   ppParseErrors ) ;
320
321 FUNCTION: HRESULT
322     D3DXCreateEffectCompilerFromFileW (
323         LPCWSTR                         pSrcFile,
324         D3DXMACRO*                      pDefines,
325         LPD3DXINCLUDE                   pInclude,
326         DWORD                           Flags,
327         LPD3DXEFFECTCOMPILER*           ppCompiler,
328         LPD3DXBUFFER*                   ppParseErrors ) ;
329
330 ALIAS: D3DXCreateEffectCompilerFromFile D3DXCreateEffectCompilerFromFileW
331
332 FUNCTION: HRESULT
333     D3DXCreateEffectCompilerFromResourceA (
334         HMODULE                         hSrcModule,
335         LPCSTR                          pSrcResource,
336         D3DXMACRO*                      pDefines,
337         LPD3DXINCLUDE                   pInclude,
338         DWORD                           Flags,
339         LPD3DXEFFECTCOMPILER*           ppCompiler,
340         LPD3DXBUFFER*                   ppParseErrors ) ;
341
342 FUNCTION: HRESULT
343     D3DXCreateEffectCompilerFromResourceW (
344         HMODULE                         hSrcModule,
345         LPCWSTR                         pSrcResource,
346         D3DXMACRO*                      pDefines,
347         LPD3DXINCLUDE                   pInclude,
348         DWORD                           Flags,
349         LPD3DXEFFECTCOMPILER*           ppCompiler,
350         LPD3DXBUFFER*                   ppParseErrors ) ;
351
352 ALIAS: D3DXCreateEffectCompilerFromResource D3DXCreateEffectCompilerFromResourceW
353
354 FUNCTION: HRESULT
355     D3DXCreateEffectCompiler (
356         LPCSTR                          pSrcData,
357         UINT                            SrcDataLen,
358         D3DXMACRO*                      pDefines,
359         LPD3DXINCLUDE                   pInclude,
360         DWORD                           Flags,
361         LPD3DXEFFECTCOMPILER*           ppCompiler,
362         LPD3DXBUFFER*                   ppParseErrors ) ;
363
364 FUNCTION: HRESULT
365     D3DXDisassembleEffect (
366         LPD3DXEFFECT pEffect,
367         BOOL EnableColorCode,
368         LPD3DXBUFFER* ppDisassembly ) ;