RetroArch
d3dx9effect.h
Go to the documentation of this file.
1 
2 /*
3  *
4  * Copyright (c) Microsoft Corporation. All rights reserved.
5  *
6  * File: d3dx9effect.h
7  * Content: D3DX effect types and Shaders
8  *
9  */
10 
11 #include "d3dx9.h"
12 
13 #ifndef __D3DX9EFFECT_H__
14 #define __D3DX9EFFECT_H__
15 
16 #define D3DXFX_DONOTSAVESTATE (1 << 0)
17 #define D3DXFX_DONOTSAVESHADERSTATE (1 << 1)
18 #define D3DXFX_DONOTSAVESAMPLERSTATE (1 << 2)
19 
20 #define D3DXFX_NOT_CLONEABLE (1 << 11)
21 #define D3DXFX_LARGEADDRESSAWARE (1 << 17)
22 
23 #define D3DX_PARAMETER_SHARED (1 << 0)
24 #define D3DX_PARAMETER_LITERAL (1 << 1)
25 #define D3DX_PARAMETER_ANNOTATION (1 << 2)
26 
27 /*
28  * D3DXEFFECT_DESC:
29  */
30 
31 typedef struct _D3DXEFFECT_DESC
32 {
33  LPCSTR Creator; /* Creator string */
34  UINT Parameters; /* Number of parameters */
35  UINT Techniques; /* Number of techniques */
36  UINT Functions; /* Number of function entrypoints */
37 
39 
40 
41 /*
42  * D3DXPARAMETER_DESC:
43  */
44 
45 typedef struct _D3DXPARAMETER_DESC
46 {
47  LPCSTR Name; /* Parameter name */
48  LPCSTR Semantic; /* Parameter semantic */
50  D3DXPARAMETER_TYPE Type; /* Component type */
51  UINT Rows; /* Number of rows */
52  UINT Columns; /* Number of columns */
53  UINT Elements; /* Number of array elements */
54  UINT Annotations; /* Number of annotations */
55  UINT StructMembers; /* Number of structure member sub-parameters */
56  DWORD Flags; /* D3DX_PARAMETER_* flags */
57  UINT Bytes; /* Parameter size, in bytes */
58 
60 
61 
62 /*
63  * D3DXTECHNIQUE_DESC:
64  */
65 
66 typedef struct _D3DXTECHNIQUE_DESC
67 {
68  LPCSTR Name; /* Technique name */
69  UINT Passes; /* Number of passes */
70  UINT Annotations; /* Number of annotations */
71 
73 
74 
75 /*
76  * D3DXPASS_DESC:
77  */
78 
79 typedef struct _D3DXPASS_DESC
80 {
81  LPCSTR Name; /* Pass name */
82  UINT Annotations; /* Number of annotations */
83 
84  CONST DWORD *pVertexShaderFunction; /* Vertex shader function */
85  CONST DWORD *pPixelShaderFunction; /* Pixel shader function */
86 
88 
89 
90 /*
91  * D3DXFUNCTION_DESC:
92  */
93 
94 typedef struct _D3DXFUNCTION_DESC
95 {
96  LPCSTR Name; /* Function name */
97  UINT Annotations; /* Number of annotations */
98 
100 
101 
102 /*
103  * ID3DXEffectPool
104 */
105 
108 
109 /* {9537AB04-3250-412e-8213-FCD2F8677933} */
110 DEFINE_GUID(IID_ID3DXEffectPool,
111 0x9537ab04, 0x3250, 0x412e, 0x82, 0x13, 0xfc, 0xd2, 0xf8, 0x67, 0x79, 0x33);
112 
113 
114 #undef INTERFACE
115 #define INTERFACE ID3DXEffectPool
116 
118 {
119  /* IUnknown */
120  STDMETHOD(QueryInterface)(THIS_ REFIID iid, LPVOID *ppv) PURE;
121  STDMETHOD_(ULONG, AddRef)(THIS) PURE;
122  STDMETHOD_(ULONG, Release)(THIS) PURE;
123 
124  /* No public methods */
125 };
126 
127 
128 /*
129  * ID3DXBaseEffect
130 */
131 
132 typedef interface ID3DXBaseEffect ID3DXBaseEffect;
134 
135 /* {017C18AC-103F-4417-8C51-6BF6EF1E56BE} */
136 DEFINE_GUID(IID_ID3DXBaseEffect,
137 0x17c18ac, 0x103f, 0x4417, 0x8c, 0x51, 0x6b, 0xf6, 0xef, 0x1e, 0x56, 0xbe);
138 
139 
140 #undef INTERFACE
141 #define INTERFACE ID3DXBaseEffect
142 
144 {
145  /* IUnknown */
146  STDMETHOD(QueryInterface)(THIS_ REFIID iid, LPVOID *ppv) PURE;
147  STDMETHOD_(ULONG, AddRef)(THIS) PURE;
148  STDMETHOD_(ULONG, Release)(THIS) PURE;
149 
150  /* Descs */
151  STDMETHOD(GetDesc)(THIS_ D3DXEFFECT_DESC* pDesc) PURE;
152  STDMETHOD(GetParameterDesc)(THIS_ D3DXHANDLE hParameter, D3DXPARAMETER_DESC* pDesc) PURE;
153  STDMETHOD(GetTechniqueDesc)(THIS_ D3DXHANDLE hTechnique, D3DXTECHNIQUE_DESC* pDesc) PURE;
154  STDMETHOD(GetPassDesc)(THIS_ D3DXHANDLE hPass, D3DXPASS_DESC* pDesc) PURE;
155  STDMETHOD(GetFunctionDesc)(THIS_ D3DXHANDLE hShader, D3DXFUNCTION_DESC* pDesc) PURE;
156 
157  /* Handle operations */
158  STDMETHOD_(D3DXHANDLE, GetParameter)(THIS_ D3DXHANDLE hParameter, UINT Index) PURE;
159  STDMETHOD_(D3DXHANDLE, GetParameterByName)(THIS_ D3DXHANDLE hParameter, LPCSTR pName) PURE;
160  STDMETHOD_(D3DXHANDLE, GetParameterBySemantic)(THIS_ D3DXHANDLE hParameter, LPCSTR pSemantic) PURE;
161  STDMETHOD_(D3DXHANDLE, GetParameterElement)(THIS_ D3DXHANDLE hParameter, UINT Index) PURE;
162  STDMETHOD_(D3DXHANDLE, GetTechnique)(THIS_ UINT Index) PURE;
163  STDMETHOD_(D3DXHANDLE, GetTechniqueByName)(THIS_ LPCSTR pName) PURE;
164  STDMETHOD_(D3DXHANDLE, GetPass)(THIS_ D3DXHANDLE hTechnique, UINT Index) PURE;
165  STDMETHOD_(D3DXHANDLE, GetPassByName)(THIS_ D3DXHANDLE hTechnique, LPCSTR pName) PURE;
166  STDMETHOD_(D3DXHANDLE, GetFunction)(THIS_ UINT Index) PURE;
167  STDMETHOD_(D3DXHANDLE, GetFunctionByName)(THIS_ LPCSTR pName) PURE;
168  STDMETHOD_(D3DXHANDLE, GetAnnotation)(THIS_ D3DXHANDLE hObject, UINT Index) PURE;
169  STDMETHOD_(D3DXHANDLE, GetAnnotationByName)(THIS_ D3DXHANDLE hObject, LPCSTR pName) PURE;
170 
171  /* Get/Set Parameters */
172  STDMETHOD(SetValue)(THIS_ D3DXHANDLE hParameter, LPCVOID pData, UINT Bytes) PURE;
173  STDMETHOD(GetValue)(THIS_ D3DXHANDLE hParameter, LPVOID pData, UINT Bytes) PURE;
174  STDMETHOD(SetBool)(THIS_ D3DXHANDLE hParameter, BOOL b) PURE;
175  STDMETHOD(GetBool)(THIS_ D3DXHANDLE hParameter, BOOL* pb) PURE;
176  STDMETHOD(SetBoolArray)(THIS_ D3DXHANDLE hParameter, CONST BOOL* pb, UINT Count) PURE;
177  STDMETHOD(GetBoolArray)(THIS_ D3DXHANDLE hParameter, BOOL* pb, UINT Count) PURE;
178  STDMETHOD(SetInt)(THIS_ D3DXHANDLE hParameter, INT n) PURE;
179  STDMETHOD(GetInt)(THIS_ D3DXHANDLE hParameter, INT* pn) PURE;
180  STDMETHOD(SetIntArray)(THIS_ D3DXHANDLE hParameter, CONST INT* pn, UINT Count) PURE;
181  STDMETHOD(GetIntArray)(THIS_ D3DXHANDLE hParameter, INT* pn, UINT Count) PURE;
182  STDMETHOD(SetFloat)(THIS_ D3DXHANDLE hParameter, FLOAT f) PURE;
183  STDMETHOD(GetFloat)(THIS_ D3DXHANDLE hParameter, FLOAT* pf) PURE;
184  STDMETHOD(SetFloatArray)(THIS_ D3DXHANDLE hParameter, CONST FLOAT* pf, UINT Count) PURE;
185  STDMETHOD(GetFloatArray)(THIS_ D3DXHANDLE hParameter, FLOAT* pf, UINT Count) PURE;
186  STDMETHOD(SetVector)(THIS_ D3DXHANDLE hParameter, CONST D3DXVECTOR4* pVector) PURE;
187  STDMETHOD(GetVector)(THIS_ D3DXHANDLE hParameter, D3DXVECTOR4* pVector) PURE;
188  STDMETHOD(SetVectorArray)(THIS_ D3DXHANDLE hParameter, CONST D3DXVECTOR4* pVector, UINT Count) PURE;
189  STDMETHOD(GetVectorArray)(THIS_ D3DXHANDLE hParameter, D3DXVECTOR4* pVector, UINT Count) PURE;
190  STDMETHOD(SetMatrix)(THIS_ D3DXHANDLE hParameter, CONST D3DXMATRIX* pMatrix) PURE;
191  STDMETHOD(GetMatrix)(THIS_ D3DXHANDLE hParameter, D3DXMATRIX* pMatrix) PURE;
192  STDMETHOD(SetMatrixArray)(THIS_ D3DXHANDLE hParameter, CONST D3DXMATRIX* pMatrix, UINT Count) PURE;
193  STDMETHOD(GetMatrixArray)(THIS_ D3DXHANDLE hParameter, D3DXMATRIX* pMatrix, UINT Count) PURE;
194  STDMETHOD(SetMatrixPointerArray)(THIS_ D3DXHANDLE hParameter, CONST D3DXMATRIX** ppMatrix, UINT Count) PURE;
195  STDMETHOD(GetMatrixPointerArray)(THIS_ D3DXHANDLE hParameter, D3DXMATRIX** ppMatrix, UINT Count) PURE;
196  STDMETHOD(SetMatrixTranspose)(THIS_ D3DXHANDLE hParameter, CONST D3DXMATRIX* pMatrix) PURE;
197  STDMETHOD(GetMatrixTranspose)(THIS_ D3DXHANDLE hParameter, D3DXMATRIX* pMatrix) PURE;
198  STDMETHOD(SetMatrixTransposeArray)(THIS_ D3DXHANDLE hParameter, CONST D3DXMATRIX* pMatrix, UINT Count) PURE;
199  STDMETHOD(GetMatrixTransposeArray)(THIS_ D3DXHANDLE hParameter, D3DXMATRIX* pMatrix, UINT Count) PURE;
200  STDMETHOD(SetMatrixTransposePointerArray)(THIS_ D3DXHANDLE hParameter, CONST D3DXMATRIX** ppMatrix, UINT Count) PURE;
201  STDMETHOD(GetMatrixTransposePointerArray)(THIS_ D3DXHANDLE hParameter, D3DXMATRIX** ppMatrix, UINT Count) PURE;
202  STDMETHOD(SetString)(THIS_ D3DXHANDLE hParameter, LPCSTR pString) PURE;
203  STDMETHOD(GetString)(THIS_ D3DXHANDLE hParameter, LPCSTR* ppString) PURE;
204  STDMETHOD(SetTexture)(THIS_ D3DXHANDLE hParameter, LPDIRECT3DBASETEXTURE9 pTexture) PURE;
205  STDMETHOD(GetTexture)(THIS_ D3DXHANDLE hParameter, LPDIRECT3DBASETEXTURE9 *ppTexture) PURE;
206  STDMETHOD(GetPixelShader)(THIS_ D3DXHANDLE hParameter, LPDIRECT3DPIXELSHADER9 *ppPShader) PURE;
207  STDMETHOD(GetVertexShader)(THIS_ D3DXHANDLE hParameter, LPDIRECT3DVERTEXSHADER9 *ppVShader) PURE;
208 
209  /* Set Range of an Array to pass to device
210  * Useful for sending only a subrange of an
211  * array down to the device
212  */
213  STDMETHOD(SetArrayRange)(THIS_ D3DXHANDLE hParameter, UINT uStart, UINT uEnd) PURE;
214 
215 };
216 
217 /*
218  * ID3DXEffectStateManager:
219  * ------------------------
220  * This is a user implemented interface that can be used to manage device
221  * state changes made by an Effect.
222  */
223 
226 
227 /* {79AAB587-6DBC-4fa7-82DE-37FA1781C5CE} */
228 DEFINE_GUID(IID_ID3DXEffectStateManager,
229 0x79aab587, 0x6dbc, 0x4fa7, 0x82, 0xde, 0x37, 0xfa, 0x17, 0x81, 0xc5, 0xce);
230 
231 #undef INTERFACE
232 #define INTERFACE ID3DXEffectStateManager
233 
235 {
236  /* The user must correctly implement QueryInterface, AddRef, and Release. */
237 
238  /* IUnknown */
239  STDMETHOD(QueryInterface)(THIS_ REFIID iid, LPVOID *ppv) PURE;
240  STDMETHOD_(ULONG, AddRef)(THIS) PURE;
241  STDMETHOD_(ULONG, Release)(THIS) PURE;
242 
243  /* The following methods are called by the Effect when it wants to make
244  * the corresponding device call. Note that:
245  * 1. Users manage the state and are therefore responsible for making the
246  * the corresponding device calls themselves inside their callbacks.
247  * 2. Effects pay attention to the return values of the callbacks, and so
248  * users must pay attention to what they return in their callbacks.
249  */
250 
251  STDMETHOD(SetTransform)(THIS_ D3DTRANSFORMSTATETYPE State, CONST D3DMATRIX *pMatrix) PURE;
252  STDMETHOD(SetMaterial)(THIS_ CONST D3DMATERIAL9 *pMaterial) PURE;
253  STDMETHOD(SetLight)(THIS_ DWORD Index, CONST D3DLIGHT9 *pLight) PURE;
254  STDMETHOD(LightEnable)(THIS_ DWORD Index, BOOL Enable) PURE;
255  STDMETHOD(SetRenderState)(THIS_ D3DRENDERSTATETYPE State, DWORD Value) PURE;
256  STDMETHOD(SetTexture)(THIS_ DWORD Stage, LPDIRECT3DBASETEXTURE9 pTexture) PURE;
257  STDMETHOD(SetTextureStageState)(THIS_ DWORD Stage, D3DTEXTURESTAGESTATETYPE Type, DWORD Value) PURE;
258  STDMETHOD(SetSamplerState)(THIS_ DWORD Sampler, D3DSAMPLERSTATETYPE Type, DWORD Value) PURE;
259  STDMETHOD(SetNPatchMode)(THIS_ FLOAT NumSegments) PURE;
260  STDMETHOD(SetFVF)(THIS_ DWORD FVF) PURE;
261  STDMETHOD(SetVertexShader)(THIS_ LPDIRECT3DVERTEXSHADER9 pShader) PURE;
262  STDMETHOD(SetVertexShaderConstantF)(THIS_ UINT RegisterIndex, CONST FLOAT *pConstantData, UINT RegisterCount) PURE;
263  STDMETHOD(SetVertexShaderConstantI)(THIS_ UINT RegisterIndex, CONST INT *pConstantData, UINT RegisterCount) PURE;
264  STDMETHOD(SetVertexShaderConstantB)(THIS_ UINT RegisterIndex, CONST BOOL *pConstantData, UINT RegisterCount) PURE;
265  STDMETHOD(SetPixelShader)(THIS_ LPDIRECT3DPIXELSHADER9 pShader) PURE;
266  STDMETHOD(SetPixelShaderConstantF)(THIS_ UINT RegisterIndex, CONST FLOAT *pConstantData, UINT RegisterCount) PURE;
267  STDMETHOD(SetPixelShaderConstantI)(THIS_ UINT RegisterIndex, CONST INT *pConstantData, UINT RegisterCount) PURE;
268  STDMETHOD(SetPixelShaderConstantB)(THIS_ UINT RegisterIndex, CONST BOOL *pConstantData, UINT RegisterCount) PURE;
269 };
270 
271 
272 /*
273  * ID3DXEffect
274  */
275 
276 typedef interface ID3DXEffect ID3DXEffect;
277 typedef interface ID3DXEffect *LPD3DXEFFECT;
278 
279 /* {F6CEB4B3-4E4C-40dd-B883-8D8DE5EA0CD5} */
280 DEFINE_GUID(IID_ID3DXEffect,
281 0xf6ceb4b3, 0x4e4c, 0x40dd, 0xb8, 0x83, 0x8d, 0x8d, 0xe5, 0xea, 0xc, 0xd5);
282 
283 #undef INTERFACE
284 #define INTERFACE ID3DXEffect
285 
287 {
288  /* ID3DXBaseEffect */
289  STDMETHOD(QueryInterface)(THIS_ REFIID iid, LPVOID *ppv) PURE;
290  STDMETHOD_(ULONG, AddRef)(THIS) PURE;
291  STDMETHOD_(ULONG, Release)(THIS) PURE;
292 
293  /* Descs */
294  STDMETHOD(GetDesc)(THIS_ D3DXEFFECT_DESC* pDesc) PURE;
295  STDMETHOD(GetParameterDesc)(THIS_ D3DXHANDLE hParameter, D3DXPARAMETER_DESC* pDesc) PURE;
296  STDMETHOD(GetTechniqueDesc)(THIS_ D3DXHANDLE hTechnique, D3DXTECHNIQUE_DESC* pDesc) PURE;
297  STDMETHOD(GetPassDesc)(THIS_ D3DXHANDLE hPass, D3DXPASS_DESC* pDesc) PURE;
298  STDMETHOD(GetFunctionDesc)(THIS_ D3DXHANDLE hShader, D3DXFUNCTION_DESC* pDesc) PURE;
299 
300  /* Handle operations */
301  STDMETHOD_(D3DXHANDLE, GetParameter)(THIS_ D3DXHANDLE hParameter, UINT Index) PURE;
302  STDMETHOD_(D3DXHANDLE, GetParameterByName)(THIS_ D3DXHANDLE hParameter, LPCSTR pName) PURE;
303  STDMETHOD_(D3DXHANDLE, GetParameterBySemantic)(THIS_ D3DXHANDLE hParameter, LPCSTR pSemantic) PURE;
304  STDMETHOD_(D3DXHANDLE, GetParameterElement)(THIS_ D3DXHANDLE hParameter, UINT Index) PURE;
305  STDMETHOD_(D3DXHANDLE, GetTechnique)(THIS_ UINT Index) PURE;
306  STDMETHOD_(D3DXHANDLE, GetTechniqueByName)(THIS_ LPCSTR pName) PURE;
307  STDMETHOD_(D3DXHANDLE, GetPass)(THIS_ D3DXHANDLE hTechnique, UINT Index) PURE;
308  STDMETHOD_(D3DXHANDLE, GetPassByName)(THIS_ D3DXHANDLE hTechnique, LPCSTR pName) PURE;
309  STDMETHOD_(D3DXHANDLE, GetFunction)(THIS_ UINT Index) PURE;
310  STDMETHOD_(D3DXHANDLE, GetFunctionByName)(THIS_ LPCSTR pName) PURE;
311  STDMETHOD_(D3DXHANDLE, GetAnnotation)(THIS_ D3DXHANDLE hObject, UINT Index) PURE;
312  STDMETHOD_(D3DXHANDLE, GetAnnotationByName)(THIS_ D3DXHANDLE hObject, LPCSTR pName) PURE;
313 
314  /* Get/Set Parameters */
315  STDMETHOD(SetValue)(THIS_ D3DXHANDLE hParameter, LPCVOID pData, UINT Bytes) PURE;
316  STDMETHOD(GetValue)(THIS_ D3DXHANDLE hParameter, LPVOID pData, UINT Bytes) PURE;
317  STDMETHOD(SetBool)(THIS_ D3DXHANDLE hParameter, BOOL b) PURE;
318  STDMETHOD(GetBool)(THIS_ D3DXHANDLE hParameter, BOOL* pb) PURE;
319  STDMETHOD(SetBoolArray)(THIS_ D3DXHANDLE hParameter, CONST BOOL* pb, UINT Count) PURE;
320  STDMETHOD(GetBoolArray)(THIS_ D3DXHANDLE hParameter, BOOL* pb, UINT Count) PURE;
321  STDMETHOD(SetInt)(THIS_ D3DXHANDLE hParameter, INT n) PURE;
322  STDMETHOD(GetInt)(THIS_ D3DXHANDLE hParameter, INT* pn) PURE;
323  STDMETHOD(SetIntArray)(THIS_ D3DXHANDLE hParameter, CONST INT* pn, UINT Count) PURE;
324  STDMETHOD(GetIntArray)(THIS_ D3DXHANDLE hParameter, INT* pn, UINT Count) PURE;
325  STDMETHOD(SetFloat)(THIS_ D3DXHANDLE hParameter, FLOAT f) PURE;
326  STDMETHOD(GetFloat)(THIS_ D3DXHANDLE hParameter, FLOAT* pf) PURE;
327  STDMETHOD(SetFloatArray)(THIS_ D3DXHANDLE hParameter, CONST FLOAT* pf, UINT Count) PURE;
328  STDMETHOD(GetFloatArray)(THIS_ D3DXHANDLE hParameter, FLOAT* pf, UINT Count) PURE;
329  STDMETHOD(SetVector)(THIS_ D3DXHANDLE hParameter, CONST D3DXVECTOR4* pVector) PURE;
330  STDMETHOD(GetVector)(THIS_ D3DXHANDLE hParameter, D3DXVECTOR4* pVector) PURE;
331  STDMETHOD(SetVectorArray)(THIS_ D3DXHANDLE hParameter, CONST D3DXVECTOR4* pVector, UINT Count) PURE;
332  STDMETHOD(GetVectorArray)(THIS_ D3DXHANDLE hParameter, D3DXVECTOR4* pVector, UINT Count) PURE;
333  STDMETHOD(SetMatrix)(THIS_ D3DXHANDLE hParameter, CONST D3DXMATRIX* pMatrix) PURE;
334  STDMETHOD(GetMatrix)(THIS_ D3DXHANDLE hParameter, D3DXMATRIX* pMatrix) PURE;
335  STDMETHOD(SetMatrixArray)(THIS_ D3DXHANDLE hParameter, CONST D3DXMATRIX* pMatrix, UINT Count) PURE;
336  STDMETHOD(GetMatrixArray)(THIS_ D3DXHANDLE hParameter, D3DXMATRIX* pMatrix, UINT Count) PURE;
337  STDMETHOD(SetMatrixPointerArray)(THIS_ D3DXHANDLE hParameter, CONST D3DXMATRIX** ppMatrix, UINT Count) PURE;
338  STDMETHOD(GetMatrixPointerArray)(THIS_ D3DXHANDLE hParameter, D3DXMATRIX** ppMatrix, UINT Count) PURE;
339  STDMETHOD(SetMatrixTranspose)(THIS_ D3DXHANDLE hParameter, CONST D3DXMATRIX* pMatrix) PURE;
340  STDMETHOD(GetMatrixTranspose)(THIS_ D3DXHANDLE hParameter, D3DXMATRIX* pMatrix) PURE;
341  STDMETHOD(SetMatrixTransposeArray)(THIS_ D3DXHANDLE hParameter, CONST D3DXMATRIX* pMatrix, UINT Count) PURE;
342  STDMETHOD(GetMatrixTransposeArray)(THIS_ D3DXHANDLE hParameter, D3DXMATRIX* pMatrix, UINT Count) PURE;
343  STDMETHOD(SetMatrixTransposePointerArray)(THIS_ D3DXHANDLE hParameter, CONST D3DXMATRIX** ppMatrix, UINT Count) PURE;
344  STDMETHOD(GetMatrixTransposePointerArray)(THIS_ D3DXHANDLE hParameter, D3DXMATRIX** ppMatrix, UINT Count) PURE;
345  STDMETHOD(SetString)(THIS_ D3DXHANDLE hParameter, LPCSTR pString) PURE;
346  STDMETHOD(GetString)(THIS_ D3DXHANDLE hParameter, LPCSTR* ppString) PURE;
347  STDMETHOD(SetTexture)(THIS_ D3DXHANDLE hParameter, LPDIRECT3DBASETEXTURE9 pTexture) PURE;
348  STDMETHOD(GetTexture)(THIS_ D3DXHANDLE hParameter, LPDIRECT3DBASETEXTURE9 *ppTexture) PURE;
349  STDMETHOD(GetPixelShader)(THIS_ D3DXHANDLE hParameter, LPDIRECT3DPIXELSHADER9 *ppPShader) PURE;
350  STDMETHOD(GetVertexShader)(THIS_ D3DXHANDLE hParameter, LPDIRECT3DVERTEXSHADER9 *ppVShader) PURE;
351 
352  /* Set Range of an Array to pass to device
353  * Useful for sending only a subrange of an array down to the device
354  */
355  STDMETHOD(SetArrayRange)(THIS_ D3DXHANDLE hParameter, UINT uStart, UINT uEnd) PURE;
356  /* ID3DXBaseEffect */
357 
358  /* Pool */
359  STDMETHOD(GetPool)(THIS_ LPD3DXEFFECTPOOL* ppPool) PURE;
360 
361  /* Selecting and setting a technique */
362  STDMETHOD(SetTechnique)(THIS_ D3DXHANDLE hTechnique) PURE;
363  STDMETHOD_(D3DXHANDLE, GetCurrentTechnique)(THIS) PURE;
364  STDMETHOD(ValidateTechnique)(THIS_ D3DXHANDLE hTechnique) PURE;
365  STDMETHOD(FindNextValidTechnique)(THIS_ D3DXHANDLE hTechnique, D3DXHANDLE *pTechnique) PURE;
366  STDMETHOD_(BOOL, IsParameterUsed)(THIS_ D3DXHANDLE hParameter, D3DXHANDLE hTechnique) PURE;
367 
368  /* Using current technique
369  * Begin starts active technique
370  * BeginPass begins a pass
371  * CommitChanges updates changes to any set calls in the pass. This should be called before
372  * any DrawPrimitive call to d3d
373  * EndPass ends a pass
374  * End ends active technique
375  */
376  STDMETHOD(Begin)(THIS_ UINT *pPasses, DWORD Flags) PURE;
377  STDMETHOD(BeginPass)(THIS_ UINT Pass) PURE;
378  STDMETHOD(CommitChanges)(THIS) PURE;
379  STDMETHOD(EndPass)(THIS) PURE;
380  STDMETHOD(End)(THIS) PURE;
381 
382  /* Managing D3D Device */
383  STDMETHOD(GetDevice)(THIS_ LPDIRECT3DDEVICE9* ppDevice) PURE;
384  STDMETHOD(OnLostDevice)(THIS) PURE;
385  STDMETHOD(OnResetDevice)(THIS) PURE;
386 
387  /* Logging device calls */
388  STDMETHOD(SetStateManager)(THIS_ LPD3DXEFFECTSTATEMANAGER pManager) PURE;
389  STDMETHOD(GetStateManager)(THIS_ LPD3DXEFFECTSTATEMANAGER *ppManager) PURE;
390 
391  /* Parameter blocks */
392  STDMETHOD(BeginParameterBlock)(THIS) PURE;
393  STDMETHOD_(D3DXHANDLE, EndParameterBlock)(THIS) PURE;
394  STDMETHOD(ApplyParameterBlock)(THIS_ D3DXHANDLE hParameterBlock) PURE;
395  STDMETHOD(DeleteParameterBlock)(THIS_ D3DXHANDLE hParameterBlock) PURE;
396 
397  /* Cloning */
398  STDMETHOD(CloneEffect)(THIS_ LPDIRECT3DDEVICE9 pDevice, LPD3DXEFFECT* ppEffect) PURE;
399 
400  /* Fast path for setting variables directly in ID3DXEffect */
401  STDMETHOD(SetRawValue)(THIS_ D3DXHANDLE hParameter, LPCVOID pData, UINT ByteOffset, UINT Bytes) PURE;
402 };
403 
404 /*
405  * ID3DXEffectCompiler
406  */
407 typedef interface ID3DXEffectCompiler ID3DXEffectCompiler;
409 
410 /* {51B8A949-1A31-47e6-BEA0-4B30DB53F1E0} */
411 DEFINE_GUID(IID_ID3DXEffectCompiler,
412 0x51b8a949, 0x1a31, 0x47e6, 0xbe, 0xa0, 0x4b, 0x30, 0xdb, 0x53, 0xf1, 0xe0);
413 
414 
415 #undef INTERFACE
416 #define INTERFACE ID3DXEffectCompiler
417 
419 {
420  /* ID3DXBaseEffect */
421  STDMETHOD(QueryInterface)(THIS_ REFIID iid, LPVOID *ppv) PURE;
422  STDMETHOD_(ULONG, AddRef)(THIS) PURE;
423  STDMETHOD_(ULONG, Release)(THIS) PURE;
424 
425  /* Descs */
426  STDMETHOD(GetDesc)(THIS_ D3DXEFFECT_DESC* pDesc) PURE;
427  STDMETHOD(GetParameterDesc)(THIS_ D3DXHANDLE hParameter, D3DXPARAMETER_DESC* pDesc) PURE;
428  STDMETHOD(GetTechniqueDesc)(THIS_ D3DXHANDLE hTechnique, D3DXTECHNIQUE_DESC* pDesc) PURE;
429  STDMETHOD(GetPassDesc)(THIS_ D3DXHANDLE hPass, D3DXPASS_DESC* pDesc) PURE;
430  STDMETHOD(GetFunctionDesc)(THIS_ D3DXHANDLE hShader, D3DXFUNCTION_DESC* pDesc) PURE;
431 
432  /* Handle operations */
433  STDMETHOD_(D3DXHANDLE, GetParameter)(THIS_ D3DXHANDLE hParameter, UINT Index) PURE;
434  STDMETHOD_(D3DXHANDLE, GetParameterByName)(THIS_ D3DXHANDLE hParameter, LPCSTR pName) PURE;
435  STDMETHOD_(D3DXHANDLE, GetParameterBySemantic)(THIS_ D3DXHANDLE hParameter, LPCSTR pSemantic) PURE;
436  STDMETHOD_(D3DXHANDLE, GetParameterElement)(THIS_ D3DXHANDLE hParameter, UINT Index) PURE;
437  STDMETHOD_(D3DXHANDLE, GetTechnique)(THIS_ UINT Index) PURE;
438  STDMETHOD_(D3DXHANDLE, GetTechniqueByName)(THIS_ LPCSTR pName) PURE;
439  STDMETHOD_(D3DXHANDLE, GetPass)(THIS_ D3DXHANDLE hTechnique, UINT Index) PURE;
440  STDMETHOD_(D3DXHANDLE, GetPassByName)(THIS_ D3DXHANDLE hTechnique, LPCSTR pName) PURE;
441  STDMETHOD_(D3DXHANDLE, GetFunction)(THIS_ UINT Index) PURE;
442  STDMETHOD_(D3DXHANDLE, GetFunctionByName)(THIS_ LPCSTR pName) PURE;
443  STDMETHOD_(D3DXHANDLE, GetAnnotation)(THIS_ D3DXHANDLE hObject, UINT Index) PURE;
444  STDMETHOD_(D3DXHANDLE, GetAnnotationByName)(THIS_ D3DXHANDLE hObject, LPCSTR pName) PURE;
445 
446  /* Get/Set Parameters */
447  STDMETHOD(SetValue)(THIS_ D3DXHANDLE hParameter, LPCVOID pData, UINT Bytes) PURE;
448  STDMETHOD(GetValue)(THIS_ D3DXHANDLE hParameter, LPVOID pData, UINT Bytes) PURE;
449  STDMETHOD(SetBool)(THIS_ D3DXHANDLE hParameter, BOOL b) PURE;
450  STDMETHOD(GetBool)(THIS_ D3DXHANDLE hParameter, BOOL* pb) PURE;
451  STDMETHOD(SetBoolArray)(THIS_ D3DXHANDLE hParameter, CONST BOOL* pb, UINT Count) PURE;
452  STDMETHOD(GetBoolArray)(THIS_ D3DXHANDLE hParameter, BOOL* pb, UINT Count) PURE;
453  STDMETHOD(SetInt)(THIS_ D3DXHANDLE hParameter, INT n) PURE;
454  STDMETHOD(GetInt)(THIS_ D3DXHANDLE hParameter, INT* pn) PURE;
455  STDMETHOD(SetIntArray)(THIS_ D3DXHANDLE hParameter, CONST INT* pn, UINT Count) PURE;
456  STDMETHOD(GetIntArray)(THIS_ D3DXHANDLE hParameter, INT* pn, UINT Count) PURE;
457  STDMETHOD(SetFloat)(THIS_ D3DXHANDLE hParameter, FLOAT f) PURE;
458  STDMETHOD(GetFloat)(THIS_ D3DXHANDLE hParameter, FLOAT* pf) PURE;
459  STDMETHOD(SetFloatArray)(THIS_ D3DXHANDLE hParameter, CONST FLOAT* pf, UINT Count) PURE;
460  STDMETHOD(GetFloatArray)(THIS_ D3DXHANDLE hParameter, FLOAT* pf, UINT Count) PURE;
461  STDMETHOD(SetVector)(THIS_ D3DXHANDLE hParameter, CONST D3DXVECTOR4* pVector) PURE;
462  STDMETHOD(GetVector)(THIS_ D3DXHANDLE hParameter, D3DXVECTOR4* pVector) PURE;
463  STDMETHOD(SetVectorArray)(THIS_ D3DXHANDLE hParameter, CONST D3DXVECTOR4* pVector, UINT Count) PURE;
464  STDMETHOD(GetVectorArray)(THIS_ D3DXHANDLE hParameter, D3DXVECTOR4* pVector, UINT Count) PURE;
465  STDMETHOD(SetMatrix)(THIS_ D3DXHANDLE hParameter, CONST D3DXMATRIX* pMatrix) PURE;
466  STDMETHOD(GetMatrix)(THIS_ D3DXHANDLE hParameter, D3DXMATRIX* pMatrix) PURE;
467  STDMETHOD(SetMatrixArray)(THIS_ D3DXHANDLE hParameter, CONST D3DXMATRIX* pMatrix, UINT Count) PURE;
468  STDMETHOD(GetMatrixArray)(THIS_ D3DXHANDLE hParameter, D3DXMATRIX* pMatrix, UINT Count) PURE;
469  STDMETHOD(SetMatrixPointerArray)(THIS_ D3DXHANDLE hParameter, CONST D3DXMATRIX** ppMatrix, UINT Count) PURE;
470  STDMETHOD(GetMatrixPointerArray)(THIS_ D3DXHANDLE hParameter, D3DXMATRIX** ppMatrix, UINT Count) PURE;
471  STDMETHOD(SetMatrixTranspose)(THIS_ D3DXHANDLE hParameter, CONST D3DXMATRIX* pMatrix) PURE;
472  STDMETHOD(GetMatrixTranspose)(THIS_ D3DXHANDLE hParameter, D3DXMATRIX* pMatrix) PURE;
473  STDMETHOD(SetMatrixTransposeArray)(THIS_ D3DXHANDLE hParameter, CONST D3DXMATRIX* pMatrix, UINT Count) PURE;
474  STDMETHOD(GetMatrixTransposeArray)(THIS_ D3DXHANDLE hParameter, D3DXMATRIX* pMatrix, UINT Count) PURE;
475  STDMETHOD(SetMatrixTransposePointerArray)(THIS_ D3DXHANDLE hParameter, CONST D3DXMATRIX** ppMatrix, UINT Count) PURE;
476  STDMETHOD(GetMatrixTransposePointerArray)(THIS_ D3DXHANDLE hParameter, D3DXMATRIX** ppMatrix, UINT Count) PURE;
477  STDMETHOD(SetString)(THIS_ D3DXHANDLE hParameter, LPCSTR pString) PURE;
478  STDMETHOD(GetString)(THIS_ D3DXHANDLE hParameter, LPCSTR* ppString) PURE;
479  STDMETHOD(SetTexture)(THIS_ D3DXHANDLE hParameter, LPDIRECT3DBASETEXTURE9 pTexture) PURE;
480  STDMETHOD(GetTexture)(THIS_ D3DXHANDLE hParameter, LPDIRECT3DBASETEXTURE9 *ppTexture) PURE;
481  STDMETHOD(GetPixelShader)(THIS_ D3DXHANDLE hParameter, LPDIRECT3DPIXELSHADER9 *ppPShader) PURE;
482  STDMETHOD(GetVertexShader)(THIS_ D3DXHANDLE hParameter, LPDIRECT3DVERTEXSHADER9 *ppVShader) PURE;
483 
484  /* Set Range of an Array to pass to device
485  * Useful for sending only a subrange of an array down to the device */
486  STDMETHOD(SetArrayRange)(THIS_ D3DXHANDLE hParameter, UINT uStart, UINT uEnd) PURE;
487 
488  /* ID3DXBaseEffect
489  * Parameter sharing, specialization, and information */
490  STDMETHOD(SetLiteral)(THIS_ D3DXHANDLE hParameter, BOOL Literal) PURE;
491  STDMETHOD(GetLiteral)(THIS_ D3DXHANDLE hParameter, BOOL *pLiteral) PURE;
492 
493  /* Compilation */
494  STDMETHOD(CompileEffect)(THIS_ DWORD Flags,
495  LPD3DXBUFFER* ppEffect, LPD3DXBUFFER* ppErrorMsgs) PURE;
496 
497  STDMETHOD(CompileShader)(THIS_ D3DXHANDLE hFunction, LPCSTR pTarget, DWORD Flags,
498  LPD3DXBUFFER* ppShader, LPD3DXBUFFER* ppErrorMsgs, LPD3DXCONSTANTTABLE* ppConstantTable) PURE;
499 };
500 
501 
502 /*
503  * APIs
504  */
505 
506 #ifdef __cplusplus
507 extern "C" {
508 #endif
509 
510 HRESULT WINAPI
512  LPD3DXEFFECTPOOL* ppPool);
513 
514 HRESULT WINAPI
516  LPDIRECT3DDEVICE9 pDevice,
517  LPCSTR pSrcFile,
518  CONST D3DXMACRO* pDefines,
519  LPD3DXINCLUDE pInclude,
520  DWORD Flags,
521  LPD3DXEFFECTPOOL pPool,
522  LPD3DXEFFECT* ppEffect,
523  LPD3DXBUFFER* ppCompilationErrors);
524 
525 HRESULT WINAPI
527  LPDIRECT3DDEVICE9 pDevice,
528  LPCWSTR pSrcFile,
529  CONST D3DXMACRO* pDefines,
530  LPD3DXINCLUDE pInclude,
531  DWORD Flags,
532  LPD3DXEFFECTPOOL pPool,
533  LPD3DXEFFECT* ppEffect,
534  LPD3DXBUFFER* ppCompilationErrors);
535 
536 #ifdef UNICODE
537 #define D3DXCreateEffectFromFile D3DXCreateEffectFromFileW
538 #else
539 #define D3DXCreateEffectFromFile D3DXCreateEffectFromFileA
540 #endif
541 
542 
543 HRESULT WINAPI
545  LPDIRECT3DDEVICE9 pDevice,
546  HMODULE hSrcModule,
547  LPCSTR pSrcResource,
548  CONST D3DXMACRO* pDefines,
549  LPD3DXINCLUDE pInclude,
550  DWORD Flags,
551  LPD3DXEFFECTPOOL pPool,
552  LPD3DXEFFECT* ppEffect,
553  LPD3DXBUFFER* ppCompilationErrors);
554 
555 HRESULT WINAPI
557  LPDIRECT3DDEVICE9 pDevice,
558  HMODULE hSrcModule,
559  LPCWSTR pSrcResource,
560  CONST D3DXMACRO* pDefines,
561  LPD3DXINCLUDE pInclude,
562  DWORD Flags,
563  LPD3DXEFFECTPOOL pPool,
564  LPD3DXEFFECT* ppEffect,
565  LPD3DXBUFFER* ppCompilationErrors);
566 
567 #ifdef UNICODE
568 #define D3DXCreateEffectFromResource D3DXCreateEffectFromResourceW
569 #else
570 #define D3DXCreateEffectFromResource D3DXCreateEffectFromResourceA
571 #endif
572 
573 
574 HRESULT WINAPI
576  LPDIRECT3DDEVICE9 pDevice,
577  LPCVOID pSrcData,
578  UINT SrcDataLen,
579  CONST D3DXMACRO* pDefines,
580  LPD3DXINCLUDE pInclude,
581  DWORD Flags,
582  LPD3DXEFFECTPOOL pPool,
583  LPD3DXEFFECT* ppEffect,
584  LPD3DXBUFFER* ppCompilationErrors);
585 
586 HRESULT WINAPI
588  LPDIRECT3DDEVICE9 pDevice,
589  LPCSTR pSrcFile,
590  CONST D3DXMACRO* pDefines,
591  LPD3DXINCLUDE pInclude,
592  LPCSTR pSkipConstants,
593  DWORD Flags,
594  LPD3DXEFFECTPOOL pPool,
595  LPD3DXEFFECT* ppEffect,
596  LPD3DXBUFFER* ppCompilationErrors);
597 
598 HRESULT WINAPI
600  LPDIRECT3DDEVICE9 pDevice,
601  LPCWSTR pSrcFile,
602  CONST D3DXMACRO* pDefines,
603  LPD3DXINCLUDE pInclude,
604  LPCSTR pSkipConstants,
605  DWORD Flags,
606  LPD3DXEFFECTPOOL pPool,
607  LPD3DXEFFECT* ppEffect,
608  LPD3DXBUFFER* ppCompilationErrors);
609 
610 #ifdef UNICODE
611 #define D3DXCreateEffectFromFileEx D3DXCreateEffectFromFileExW
612 #else
613 #define D3DXCreateEffectFromFileEx D3DXCreateEffectFromFileExA
614 #endif
615 
616 
617 HRESULT WINAPI
619  LPDIRECT3DDEVICE9 pDevice,
620  HMODULE hSrcModule,
621  LPCSTR pSrcResource,
622  CONST D3DXMACRO* pDefines,
623  LPD3DXINCLUDE pInclude,
624  LPCSTR pSkipConstants,
625  DWORD Flags,
626  LPD3DXEFFECTPOOL pPool,
627  LPD3DXEFFECT* ppEffect,
628  LPD3DXBUFFER* ppCompilationErrors);
629 
630 HRESULT WINAPI
632  LPDIRECT3DDEVICE9 pDevice,
633  HMODULE hSrcModule,
634  LPCWSTR pSrcResource,
635  CONST D3DXMACRO* pDefines,
636  LPD3DXINCLUDE pInclude,
637  LPCSTR pSkipConstants,
638  DWORD Flags,
639  LPD3DXEFFECTPOOL pPool,
640  LPD3DXEFFECT* ppEffect,
641  LPD3DXBUFFER* ppCompilationErrors);
642 
643 #ifdef UNICODE
644 #define D3DXCreateEffectFromResourceEx D3DXCreateEffectFromResourceExW
645 #else
646 #define D3DXCreateEffectFromResourceEx D3DXCreateEffectFromResourceExA
647 #endif
648 
649 
650 HRESULT WINAPI
652  LPDIRECT3DDEVICE9 pDevice,
653  LPCVOID pSrcData,
654  UINT SrcDataLen,
655  CONST D3DXMACRO* pDefines,
656  LPD3DXINCLUDE pInclude,
657  LPCSTR pSkipConstants,
658  DWORD Flags,
659  LPD3DXEFFECTPOOL pPool,
660  LPD3DXEFFECT* ppEffect,
661  LPD3DXBUFFER* ppCompilationErrors);
662 
663 HRESULT WINAPI
665  LPCSTR pSrcFile,
666  CONST D3DXMACRO* pDefines,
667  LPD3DXINCLUDE pInclude,
668  DWORD Flags,
669  LPD3DXEFFECTCOMPILER* ppCompiler,
670  LPD3DXBUFFER* ppParseErrors);
671 
672 HRESULT WINAPI
674  LPCWSTR pSrcFile,
675  CONST D3DXMACRO* pDefines,
676  LPD3DXINCLUDE pInclude,
677  DWORD Flags,
678  LPD3DXEFFECTCOMPILER* ppCompiler,
679  LPD3DXBUFFER* ppParseErrors);
680 
681 #ifdef UNICODE
682 #define D3DXCreateEffectCompilerFromFile D3DXCreateEffectCompilerFromFileW
683 #else
684 #define D3DXCreateEffectCompilerFromFile D3DXCreateEffectCompilerFromFileA
685 #endif
686 
687 
688 HRESULT WINAPI
690  HMODULE hSrcModule,
691  LPCSTR pSrcResource,
692  CONST D3DXMACRO* pDefines,
693  LPD3DXINCLUDE pInclude,
694  DWORD Flags,
695  LPD3DXEFFECTCOMPILER* ppCompiler,
696  LPD3DXBUFFER* ppParseErrors);
697 
698 HRESULT WINAPI
700  HMODULE hSrcModule,
701  LPCWSTR pSrcResource,
702  CONST D3DXMACRO* pDefines,
703  LPD3DXINCLUDE pInclude,
704  DWORD Flags,
705  LPD3DXEFFECTCOMPILER* ppCompiler,
706  LPD3DXBUFFER* ppParseErrors);
707 
708 #ifdef UNICODE
709 #define D3DXCreateEffectCompilerFromResource D3DXCreateEffectCompilerFromResourceW
710 #else
711 #define D3DXCreateEffectCompilerFromResource D3DXCreateEffectCompilerFromResourceA
712 #endif
713 
714 
715 HRESULT WINAPI
717  LPCSTR pSrcData,
718  UINT SrcDataLen,
719  CONST D3DXMACRO* pDefines,
720  LPD3DXINCLUDE pInclude,
721  DWORD Flags,
722  LPD3DXEFFECTCOMPILER* ppCompiler,
723  LPD3DXBUFFER* ppParseErrors);
724 
725 HRESULT WINAPI
728  BOOL EnableColorCode,
729  LPD3DXBUFFER *ppDisassembly);
730 
731 #ifdef __cplusplus
732 }
733 #endif /* __cplusplus */
734 
735 #endif /* __D3DX9EFFECT_H__ */
HRESULT WINAPI D3DXCreateEffectPool(LPD3DXEFFECTPOOL *ppPool)
GenericValue< UTF8<> > Value
GenericValue with UTF8 encoding.
Definition: document.h:2010
Definition: d3dx8effect.h:51
interface ID3DXConstantTable * LPD3DXCONSTANTTABLE
Definition: d3dx9shader.h:186
D3DXPARAMETER_CLASS Class
Definition: d3dx9effect.h:49
enum _D3DTEXTURESTAGESTATETYPE D3DTEXTURESTAGESTATETYPE
Definition: d3d8types.h:77
interface ID3DXEffect ID3DXEffect
Definition: d3dx8effect.h:73
struct IDirect3DBaseTexture9 * LPDIRECT3DBASETEXTURE9
Definition: d3d9.h:949
HRESULT WINAPI D3DXCreateEffectCompilerFromFileW(LPCWSTR pSrcFile, CONST D3DXMACRO *pDefines, LPD3DXINCLUDE pInclude, DWORD Flags, LPD3DXEFFECTCOMPILER *ppCompiler, LPD3DXBUFFER *ppParseErrors)
Definition: glslang_tab.cpp:129
enum _D3DXPARAMETER_CLASS D3DXPARAMETER_CLASS
interface ID3DXEffectCompiler * LPD3DXEFFECTCOMPILER
Definition: d3dx9effect.h:408
HRESULT WINAPI D3DXCreateEffectFromResourceW(LPDIRECT3DDEVICE9 pDevice, HMODULE hSrcModule, LPCWSTR pSrcResource, CONST D3DXMACRO *pDefines, LPD3DXINCLUDE pInclude, DWORD Flags, LPD3DXEFFECTPOOL pPool, LPD3DXEFFECT *ppEffect, LPD3DXBUFFER *ppCompilationErrors)
LPCSTR Name
Definition: d3dx8effect.h:44
Definition: d3dx8effect.h:42
UINT Annotations
Definition: d3dx9effect.h:54
GLfloat f
Definition: glext.h:8207
HRESULT WINAPI D3DXDisassembleEffect(LPD3DXEFFECT pEffect, BOOL EnableColorCode, LPD3DXBUFFER *ppDisassembly)
UINT Annotations
Definition: d3dx9effect.h:70
interface ID3DXEffectCompiler ID3DXEffectCompiler
Definition: d3dx9effect.h:402
UINT Annotations
Definition: d3dx9effect.h:82
UINT Elements
Definition: d3dx9effect.h:53
UINT Parameters
Definition: d3dx8effect.h:36
typedef HRESULT(WINAPI *PFN_D3D12_SERIALIZE_ROOT_SIGNATURE)(_In_ const D3D12_ROOT_SIGNATURE_DESC *pRootSignature
UINT Rows
Definition: d3dx9effect.h:51
UINT Annotations
Definition: d3dx9effect.h:97
LPCSTR Name
Definition: d3dx9effect.h:96
HRESULT WINAPI D3DXCreateEffectFromResourceExA(LPDIRECT3DDEVICE9 pDevice, HMODULE hSrcModule, LPCSTR pSrcResource, CONST D3DXMACRO *pDefines, LPD3DXINCLUDE pInclude, LPCSTR pSkipConstants, DWORD Flags, LPD3DXEFFECTPOOL pPool, LPD3DXEFFECT *ppEffect, LPD3DXBUFFER *ppCompilationErrors)
HRESULT WINAPI D3DXCreateEffectCompiler(LPCSTR pSrcData, UINT SrcDataLen, CONST D3DXMACRO *pDefines, LPD3DXINCLUDE pInclude, DWORD Flags, LPD3DXEFFECTCOMPILER *ppCompiler, LPD3DXBUFFER *ppParseErrors)
GLboolean GLboolean GLboolean b
Definition: glext.h:6844
LPCSTR Creator
Definition: d3dx9effect.h:33
CONST DWORD * pPixelShaderFunction
Definition: d3dx9effect.h:85
_Outptr_ IUnknown ** pEffect
Definition: xapofx.h:175
struct _D3DXEFFECT_DESC D3DXEFFECT_DESC
enum _D3DXPARAMETER_TYPE D3DXPARAMETER_TYPE
LPCSTR Name
Definition: d3dx8effect.h:62
Definition: d3dx8math.h:127
struct _D3DXPARAMETER_DESC D3DXPARAMETER_DESC
DWORD Flags
Definition: d3dx9effect.h:56
UINT Techniques
Definition: d3dx8effect.h:37
HRESULT WINAPI D3DXCreateEffectEx(LPDIRECT3DDEVICE9 pDevice, LPCVOID pSrcData, UINT SrcDataLen, CONST D3DXMACRO *pDefines, LPD3DXINCLUDE pInclude, LPCSTR pSkipConstants, DWORD Flags, LPD3DXEFFECTPOOL pPool, LPD3DXEFFECT *ppEffect, LPD3DXBUFFER *ppCompilationErrors)
Definition: ffmpeg_fft.c:42
HRESULT WINAPI D3DXCreateEffectFromFileW(LPDIRECT3DDEVICE9 pDevice, LPCWSTR pSrcFile, CONST D3DXMACRO *pDefines, LPD3DXINCLUDE pInclude, DWORD Flags, LPD3DXEFFECTPOOL pPool, LPD3DXEFFECT *ppEffect, LPD3DXBUFFER *ppCompilationErrors)
Definition: d3d9types.h:159
struct IDirect3DVertexShader9 * LPDIRECT3DVERTEXSHADER9
Definition: d3d9.h:870
HRESULT WINAPI D3DXCreateEffectFromFileExW(LPDIRECT3DDEVICE9 pDevice, LPCWSTR pSrcFile, CONST D3DXMACRO *pDefines, LPD3DXINCLUDE pInclude, LPCSTR pSkipConstants, DWORD Flags, LPD3DXEFFECTPOOL pPool, LPD3DXEFFECT *ppEffect, LPD3DXBUFFER *ppCompilationErrors)
interface ID3DXEffectStateManager * LPD3DXEFFECTSTATEMANAGER
Definition: d3dx9effect.h:225
interface ID3DXInclude * LPD3DXINCLUDE
Definition: d3dx9shader.h:300
LPCSTR D3DXHANDLE
Definition: d3dx9shader.h:45
interface ID3DXBaseEffect ID3DXBaseEffect
Definition: d3dx9effect.h:125
CONST DWORD * pVertexShaderFunction
Definition: d3dx9effect.h:84
HRESULT WINAPI D3DXCreateEffectFromFileA(LPDIRECT3DDEVICE9 pDevice, LPCSTR pSrcFile, CONST D3DXMACRO *pDefines, LPD3DXINCLUDE pInclude, DWORD Flags, LPD3DXEFFECTPOOL pPool, LPD3DXEFFECT *ppEffect, LPD3DXBUFFER *ppCompilationErrors)
HRESULT WINAPI D3DXCreateEffect(LPDIRECT3DDEVICE9 pDevice, LPCVOID pSrcData, UINT SrcDataLen, CONST D3DXMACRO *pDefines, LPD3DXINCLUDE pInclude, DWORD Flags, LPD3DXEFFECTPOOL pPool, LPD3DXEFFECT *ppEffect, LPD3DXBUFFER *ppCompilationErrors)
UINT Functions
Definition: d3dx9effect.h:36
HRESULT WINAPI D3DXCreateEffectFromResourceExW(LPDIRECT3DDEVICE9 pDevice, HMODULE hSrcModule, LPCWSTR pSrcResource, CONST D3DXMACRO *pDefines, LPD3DXINCLUDE pInclude, LPCSTR pSkipConstants, DWORD Flags, LPD3DXEFFECTPOOL pPool, LPD3DXEFFECT *ppEffect, LPD3DXBUFFER *ppCompilationErrors)
UINT Passes
Definition: d3dx8effect.h:55
struct IDirect3DPixelShader9 * LPDIRECT3DPIXELSHADER9
Definition: d3d9.h:903
LPCSTR Name
Definition: d3dx8effect.h:53
UINT Columns
Definition: d3dx9effect.h:52
interface ID3DXEffectStateManager ID3DXEffectStateManager
Definition: d3dx9effect.h:215
std::pair< Type, bool > State
Definition: spirv_reflect.cpp:33
HRESULT WINAPI D3DXCreateEffectCompilerFromResourceA(HMODULE hSrcModule, LPCSTR pSrcResource, CONST D3DXMACRO *pDefines, LPD3DXINCLUDE pInclude, DWORD Flags, LPD3DXEFFECTCOMPILER *ppCompiler, LPD3DXBUFFER *ppParseErrors)
static INLINE ULONG Release(void *object)
Definition: dxgi_common.h:253
struct _D3DXFUNCTION_DESC D3DXFUNCTION_DESC
unsigned int BOOL
Definition: gctypes.h:51
struct IDirect3DDevice9 * LPDIRECT3DDEVICE9
Definition: d3d9.h:442
#define Literal
Definition: LzmaDec.c:106
Stage
Definition: glslang.hpp:10
interface ID3DXBuffer * LPD3DXBUFFER
Definition: d3dx8core.h:29
interface ID3DXEffect * LPD3DXEFFECT
Definition: d3dx8effect.h:74
struct _D3DXPASS_DESC D3DXPASS_DESC
D3DXPARAMETER_TYPE Type
Definition: d3dx9effect.h:50
Definition: d3dx8effect.h:34
Definition: glslang_tab.cpp:135
DEFINE_GUID(IID_ID3DXEffectPool, 0x9537ab04, 0x3250, 0x412e, 0x82, 0x13, 0xfc, 0xd2, 0xf8, 0x67, 0x79, 0x33)
Definition: glslang_tab.cpp:136
DECLARE_INTERFACE_(ID3DXEffectPool, IUnknown)
Definition: d3dx9effect.h:117
HRESULT WINAPI D3DXCreateEffectFromFileExA(LPDIRECT3DDEVICE9 pDevice, LPCSTR pSrcFile, CONST D3DXMACRO *pDefines, LPD3DXINCLUDE pInclude, LPCSTR pSkipConstants, DWORD Flags, LPD3DXEFFECTPOOL pPool, LPD3DXEFFECT *ppEffect, LPD3DXBUFFER *ppCompilationErrors)
Definition: d3dx8effect.h:60
Definition: d3dx9effect.h:94
Definition: glslang_tab.cpp:133
interface ID3DXEffect * LPD3DXEFFECT
Definition: d3dx9effect.h:277
enum _D3DRENDERSTATETYPE D3DRENDERSTATETYPE
Type
Type of JSON value.
Definition: rapidjson.h:603
interface ID3DXEffectPool * LPD3DXEFFECTPOOL
Definition: d3dx9effect.h:107
interface ID3DXEffectPool ID3DXEffectPool
Definition: d3dx9effect.h:106
Definition: d3d9types.h:174
enum _D3DTRANSFORMSTATETYPE D3DTRANSFORMSTATETYPE
UINT Bytes
Definition: d3dx9effect.h:57
interface ID3DXBaseEffect * LPD3DXBASEEFFECT
Definition: d3dx9effect.h:133
HRESULT WINAPI D3DXCreateEffectCompilerFromFileA(LPCSTR pSrcFile, CONST D3DXMACRO *pDefines, LPD3DXINCLUDE pInclude, DWORD Flags, LPD3DXEFFECTCOMPILER *ppCompiler, LPD3DXBUFFER *ppParseErrors)
GLdouble n
Definition: glext.h:8396
UINT StructMembers
Definition: d3dx9effect.h:55
HRESULT WINAPI D3DXCreateEffectFromResourceA(LPDIRECT3DDEVICE9 pDevice, HMODULE hSrcModule, LPCSTR pSrcResource, CONST D3DXMACRO *pDefines, LPD3DXINCLUDE pInclude, DWORD Flags, LPD3DXEFFECTPOOL pPool, LPD3DXEFFECT *ppEffect, LPD3DXBUFFER *ppCompilationErrors)
HRESULT WINAPI D3DXCreateEffectCompilerFromResourceW(HMODULE hSrcModule, LPCWSTR pSrcResource, CONST D3DXMACRO *pDefines, LPD3DXINCLUDE pInclude, DWORD Flags, LPD3DXEFFECTCOMPILER *ppCompiler, LPD3DXBUFFER *ppParseErrors)
struct _D3DXTECHNIQUE_DESC D3DXTECHNIQUE_DESC
Definition: d3dx9shader.h:51
enum _D3DSAMPLERSTATETYPE D3DSAMPLERSTATETYPE
LPCSTR Semantic
Definition: d3dx9effect.h:48