1 USING: alien.syntax alien.c-types windows.directx.d3d9types math
2 classes.struct windows.types windows.com.syntax windows.com windows.directx
3 windows.directx.d3d9 windows.directx.d3dx9core windows.directx.d3dx9math
4 windows.directx.d3dx9xof ;
5 IN: windows.directx.d3dx9mesh
9 TYPEDEF: int D3DXPATCHMESHTYPE
10 CONSTANT: D3DXPATCHMESH_RECT 1
11 CONSTANT: D3DXPATCHMESH_TRI 2
12 CONSTANT: D3DXPATCHMESH_NPATCH 3
13 CONSTANT: D3DXPATCHMESH_FORCE_DWORD 0x7fffffff
16 CONSTANT: D3DXMESH_32BIT 0x001
17 CONSTANT: D3DXMESH_DONOTCLIP 0x002
18 CONSTANT: D3DXMESH_POINTS 0x004
19 CONSTANT: D3DXMESH_RTPATCHES 0x008
20 CONSTANT: D3DXMESH_NPATCHES 0x4000
21 CONSTANT: D3DXMESH_VB_SYSTEMMEM 0x010
22 CONSTANT: D3DXMESH_VB_MANAGED 0x020
23 CONSTANT: D3DXMESH_VB_WRITEONLY 0x040
24 CONSTANT: D3DXMESH_VB_DYNAMIC 0x080
25 CONSTANT: D3DXMESH_VB_SOFTWAREPROCESSING 0x8000
26 CONSTANT: D3DXMESH_IB_SYSTEMMEM 0x100
27 CONSTANT: D3DXMESH_IB_MANAGED 0x200
28 CONSTANT: D3DXMESH_IB_WRITEONLY 0x400
29 CONSTANT: D3DXMESH_IB_DYNAMIC 0x800
30 CONSTANT: D3DXMESH_IB_SOFTWAREPROCESSING 0x10000
31 CONSTANT: D3DXMESH_VB_SHARE 0x1000
32 CONSTANT: D3DXMESH_USEHWONLY 0x2000
33 CONSTANT: D3DXMESH_SYSTEMMEM 0x110
34 CONSTANT: D3DXMESH_MANAGED 0x220
35 CONSTANT: D3DXMESH_WRITEONLY 0x440
36 CONSTANT: D3DXMESH_DYNAMIC 0x880
37 CONSTANT: D3DXMESH_SOFTWAREPROCESSING 0x18000
39 TYPEDEF: int D3DXPATCHMESH
40 CONSTANT: D3DXPATCHMESH_DEFAULT 0
42 TYPEDEF: int D3DXMESHSIMP
43 CONSTANT: D3DXMESHSIMP_VERTEX 1
44 CONSTANT: D3DXMESHSIMP_FACE 2
46 TYPEDEF: int D3DXCLEANTYPE
47 CONSTANT: D3DXCLEAN_BACKFACING 1
48 CONSTANT: D3DXCLEAN_BOWTIES 2
49 CONSTANT: D3DXCLEAN_SKINNING 1
50 CONSTANT: D3DXCLEAN_OPTIMIZATION 1
51 CONSTANT: D3DXCLEAN_SIMPLIFICATION 3
53 : MAX_FVF_DECL_SIZE ( -- n ) MAXD3DDECLLENGTH 1 + ; inline
55 TYPEDEF: int D3DXTANGENT
56 CONSTANT: D3DXTANGENT_WRAP_U 0x01
57 CONSTANT: D3DXTANGENT_WRAP_V 0x02
58 CONSTANT: D3DXTANGENT_WRAP_UV 0x03
59 CONSTANT: D3DXTANGENT_DONT_NORMALIZE_PARTIALS 0x04
60 CONSTANT: D3DXTANGENT_DONT_ORTHOGONALIZE 0x08
61 CONSTANT: D3DXTANGENT_ORTHOGONALIZE_FROM_V 0x010
62 CONSTANT: D3DXTANGENT_ORTHOGONALIZE_FROM_U 0x020
63 CONSTANT: D3DXTANGENT_WEIGHT_BY_AREA 0x040
64 CONSTANT: D3DXTANGENT_WEIGHT_EQUAL 0x080
65 CONSTANT: D3DXTANGENT_WIND_CW 0x0100
66 CONSTANT: D3DXTANGENT_CALCULATE_NORMALS 0x0200
67 CONSTANT: D3DXTANGENT_GENERATE_IN_PLACE 0x0400
70 CONSTANT: D3DXIMT_WRAP_U 0x01
71 CONSTANT: D3DXIMT_WRAP_V 0x02
72 CONSTANT: D3DXIMT_WRAP_UV 0x03
74 TYPEDEF: int D3DXUVATLAS
75 CONSTANT: D3DXUVATLAS_DEFAULT 0x00
76 CONSTANT: D3DXUVATLAS_GEODESIC_FAST 0x01
77 CONSTANT: D3DXUVATLAS_GEODESIC_QUALITY 0x02
80 TYPEDEF: ID3DXBaseMesh* LPD3DXBASEMESH
82 TYPEDEF: ID3DXMesh* LPD3DXMESH
84 TYPEDEF: ID3DXPMesh* LPD3DXPMESH
86 TYPEDEF: ID3DXSPMesh* LPD3DXSPMESH
88 TYPEDEF: ID3DXSkinInfo* LPD3DXSKININFO
89 C-TYPE: ID3DXPatchMesh
90 TYPEDEF: ID3DXPatchMesh* LPD3DXPATCHMESH
91 C-TYPE: ID3DXTextureGutterHelper
92 TYPEDEF: ID3DXTextureGutterHelper* LPD3DXTEXTUREGUTTERHELPER
93 C-TYPE: ID3DXPRTBuffer
94 TYPEDEF: ID3DXPRTBuffer* LPD3DXPRTBUFFER
96 STRUCT: D3DXATTRIBUTERANGE
100 { VertexStart DWORD }
101 { VertexCount DWORD } ;
102 TYPEDEF: D3DXATTRIBUTERANGE* LPD3DXATTRIBUTERANGE
105 { MatD3D D3DMATERIAL9 }
106 { pTextureFilename LPSTR } ;
107 TYPEDEF: D3DXMATERIAL* LPD3DXMATERIAL
109 TYPEDEF: int D3DXEFFECTDEFAULTTYPE
110 CONSTANT: D3DXEDT_STRING 0x1
111 CONSTANT: D3DXEDT_FLOATS 0x2
112 CONSTANT: D3DXEDT_DWORD 0x3
113 CONSTANT: D3DXEDT_FORCEDWORD 0x7fffffff
115 STRUCT: D3DXEFFECTDEFAULT
117 { Type D3DXEFFECTDEFAULTTYPE }
120 TYPEDEF: D3DXEFFECTDEFAULT* LPD3DXEFFECTDEFAULT
122 STRUCT: D3DXEFFECTINSTANCE
123 { pEffectFilename LPSTR }
124 { NumDefaults DWORD }
125 { pDefaults LPD3DXEFFECTDEFAULT } ;
126 TYPEDEF: D3DXEFFECTINSTANCE* LPD3DXEFFECTINSTANCE
128 STRUCT: D3DXATTRIBUTEWEIGHTS
134 { Texcoord FLOAT[8] }
137 TYPEDEF: D3DXATTRIBUTEWEIGHTS* LPD3DXATTRIBUTEWEIGHTS
139 CONSTANT: D3DXWELDEPSILONS_WELDALL 0x1
140 CONSTANT: D3DXWELDEPSILONS_WELDPARTIALMATCHES 0x2
141 CONSTANT: D3DXWELDEPSILONS_DONOTREMOVEVERTICES 0x4
142 CONSTANT: D3DXWELDEPSILONS_DONOTSPLIT 0x8
144 STRUCT: D3DXWELDEPSILONS
146 { BlendWeights FLOAT }
151 { Texcoord FLOAT[8] }
154 { TessFactor FLOAT } ;
155 TYPEDEF: D3DXWELDEPSILONS* LPD3DXWELDEPSILONS
157 COM-INTERFACE: ID3DXBaseMesh IUnknown {7ED943DD-52E8-40b5-A8D8-76685C406330}
158 HRESULT DrawSubset ( DWORD AttribId )
159 DWORD GetNumFaces ( )
160 DWORD GetNumVertices ( )
162 HRESULT GetDeclaration ( D3DVERTEXELEMENT9* Declaration )
163 DWORD GetNumBytesPerVertex ( )
165 HRESULT GetDevice ( LPDIRECT3DDEVICE9* ppDevice )
166 HRESULT CloneMeshFVF ( DWORD Options, DWORD FVF, LPDIRECT3DDEVICE9 pD3DDevice, LPD3DXMESH* ppCloneMesh )
167 HRESULT CloneMesh ( DWORD Options, D3DVERTEXELEMENT9* pDeclaration, LPDIRECT3DDEVICE9 pD3DDevice, LPD3DXMESH* ppCloneMesh )
168 HRESULT GetVertexBuffer ( LPDIRECT3DVERTEXBUFFER9* ppVB )
169 HRESULT GetIndexBuffer ( LPDIRECT3DINDEXBUFFER9* ppIB )
170 HRESULT LockVertexBuffer ( DWORD Flags, LPVOID* ppData )
171 HRESULT UnlockVertexBuffer ( )
172 HRESULT LockIndexBuffer ( DWORD Flags, LPVOID* ppData )
173 HRESULT UnlockIndexBuffer ( )
174 HRESULT GetAttributeTable ( D3DXATTRIBUTERANGE* pAttribTable, DWORD* pAttribTableSize )
175 HRESULT ConvertPointRepsToAdjacency ( DWORD* pPRep, DWORD* pAdjacency )
176 HRESULT ConvertAdjacencyToPointReps ( DWORD* pAdjacency, DWORD* pPRep )
177 HRESULT GenerateAdjacency ( FLOAT Epsilon, DWORD* pAdjacency )
178 HRESULT UpdateSemantics ( D3DVERTEXELEMENT9* Declaration ) ;
180 COM-INTERFACE: ID3DXMesh ID3DXBaseMesh {4020E5C2-1403-4929-883F-E2E849FAC195}
181 HRESULT LockAttributeBuffer ( DWORD Flags, DWORD** ppData )
182 HRESULT UnlockAttributeBuffer ( )
183 HRESULT Optimize ( DWORD Flags, DWORD* pAdjacencyIn, DWORD* pAdjacencyOut,
184 DWORD* pFaceRemap, LPD3DXBUFFER* ppVertexRemap,
185 LPD3DXMESH* ppOptMesh )
186 HRESULT OptimizeInplace ( DWORD Flags, DWORD* pAdjacencyIn, DWORD* pAdjacencyOut,
187 DWORD* pFaceRemap, LPD3DXBUFFER* ppVertexRemap )
188 HRESULT SetAttributeTable ( D3DXATTRIBUTERANGE* pAttribTable, DWORD cAttribTableSize ) ;
190 COM-INTERFACE: ID3DXPMesh ID3DXBaseMesh {8875769A-D579-4088-AAEB-534D1AD84E96}
191 HRESULT ClonePMeshFVF ( DWORD Options,
192 DWORD FVF, LPDIRECT3DDEVICE9 pD3DDevice, LPD3DXPMESH* ppCloneMesh )
193 HRESULT ClonePMesh ( DWORD Options,
194 D3DVERTEXELEMENT9* pDeclaration, LPDIRECT3DDEVICE9 pD3DDevice, LPD3DXPMESH* ppCloneMesh )
195 HRESULT SetNumFaces ( DWORD Faces )
196 HRESULT SetNumVertices ( DWORD Vertices )
197 DWORD GetMaxFaces ( )
198 DWORD GetMinFaces ( )
199 DWORD GetMaxVertices ( )
200 DWORD GetMinVertices ( )
201 HRESULT Save ( IStream* pStream, D3DXMATERIAL* pMaterials, D3DXEFFECTINSTANCE* pEffectInstances, DWORD NumMaterials )
202 HRESULT Optimize ( DWORD Flags, DWORD* pAdjacencyOut,
203 DWORD* pFaceRemap, LPD3DXBUFFER* ppVertexRemap,
204 LPD3DXMESH* ppOptMesh )
205 HRESULT OptimizeBaseLOD ( DWORD Flags, DWORD* pFaceRemap )
206 HRESULT TrimByFaces ( DWORD NewFacesMin, DWORD NewFacesMax, DWORD* rgiFaceRemap, DWORD* rgiVertRemap )
207 HRESULT TrimByVertices ( DWORD NewVerticesMin, DWORD NewVerticesMax, DWORD* rgiFaceRemap, DWORD* rgiVertRemap )
208 HRESULT GetAdjacency ( DWORD* pAdjacency )
209 HRESULT GenerateVertexHistory ( DWORD* pVertexHistory ) ;
211 COM-INTERFACE: ID3DXSPMesh IUnknown {667EA4C7-F1CD-4386-B523-7C0290B83CC5}
212 DWORD GetNumFaces ( )
213 DWORD GetNumVertices ( )
215 HRESULT GetDeclaration ( D3DVERTEXELEMENT9* Declaration )
217 HRESULT GetDevice ( LPDIRECT3DDEVICE9* ppDevice )
218 HRESULT CloneMeshFVF ( DWORD Options,
219 DWORD FVF, LPDIRECT3DDEVICE9 pD3DDevice, DWORD* pAdjacencyOut, DWORD* pVertexRemapOut, LPD3DXMESH* ppCloneMesh )
220 HRESULT CloneMesh ( DWORD Options,
221 D3DVERTEXELEMENT9* pDeclaration, LPDIRECT3DDEVICE9 pD3DDevice, DWORD* pAdjacencyOut, DWORD* pVertexRemapOut, LPD3DXMESH* ppCloneMesh )
222 HRESULT ClonePMeshFVF ( DWORD Options,
223 DWORD FVF, LPDIRECT3DDEVICE9 pD3DDevice, DWORD* pVertexRemapOut, FLOAT* pErrorsByFace, LPD3DXPMESH* ppCloneMesh )
224 HRESULT ClonePMesh ( DWORD Options,
225 D3DVERTEXELEMENT9* pDeclaration, LPDIRECT3DDEVICE9 pD3DDevice, DWORD* pVertexRemapOut, FLOAT* pErrorsbyFace, LPD3DXPMESH* ppCloneMesh )
226 HRESULT ReduceFaces ( DWORD Faces )
227 HRESULT ReduceVertices ( DWORD Vertices )
228 DWORD GetMaxFaces ( )
229 DWORD GetMaxVertices ( )
230 HRESULT GetVertexAttributeWeights ( LPD3DXATTRIBUTEWEIGHTS pVertexAttributeWeights )
231 HRESULT GetVertexWeights ( FLOAT* pVertexWeights ) ;
233 CONSTANT: D3DXMESHOPT_COMPACT 0x01000000
234 CONSTANT: D3DXMESHOPT_ATTRSORT 0x02000000
235 CONSTANT: D3DXMESHOPT_VERTEXCACHE 0x04000000
236 CONSTANT: D3DXMESHOPT_STRIPREORDER 0x08000000
237 CONSTANT: D3DXMESHOPT_IGNOREVERTS 0x10000000
238 CONSTANT: D3DXMESHOPT_DONOTSPLIT 0x20000000
239 CONSTANT: D3DXMESHOPT_DEVICEINDEPENDENT 0x00400000
241 STRUCT: D3DXBONECOMBINATION
245 { VertexStart DWORD }
246 { VertexCount DWORD }
248 TYPEDEF: D3DXBONECOMBINATION* LPD3DXBONECOMBINATION
250 STRUCT: D3DXPATCHINFO
251 { PatchType D3DXPATCHMESHTYPE }
252 { Degree D3DDEGREETYPE }
253 { Basis D3DBASISTYPE } ;
254 TYPEDEF: D3DXPATCHINFO* LPD3DXPATCHINFO
256 COM-INTERFACE: ID3DXPatchMesh IUnknown {3CE6CC22-DBF2-44f4-894D-F9C34A337139}
257 DWORD GetNumPatches ( )
258 DWORD GetNumVertices ( )
259 HRESULT GetDeclaration ( D3DVERTEXELEMENT9* Declaration )
260 DWORD GetControlVerticesPerPatch ( )
262 HRESULT GetDevice ( LPDIRECT3DDEVICE9* ppDevice )
263 HRESULT GetPatchInfo ( LPD3DXPATCHINFO PatchInfo )
264 HRESULT GetVertexBuffer ( LPDIRECT3DVERTEXBUFFER9* ppVB )
265 HRESULT GetIndexBuffer ( LPDIRECT3DINDEXBUFFER9* ppIB )
266 HRESULT LockVertexBuffer ( DWORD flags, LPVOID* ppData )
267 HRESULT UnlockVertexBuffer ( )
268 HRESULT LockIndexBuffer ( DWORD flags, LPVOID* ppData )
269 HRESULT UnlockIndexBuffer ( )
270 HRESULT LockAttributeBuffer ( DWORD flags, DWORD** ppData )
271 HRESULT UnlockAttributeBuffer ( )
272 HRESULT GetTessSize ( FLOAT fTessLevel, DWORD Adaptive, DWORD* NumTriangles, DWORD* NumVertices )
273 HRESULT GenerateAdjacency ( FLOAT Tolerance )
274 HRESULT CloneMesh ( DWORD Options, D3DVERTEXELEMENT9* pDecl, LPD3DXPATCHMESH* pMesh )
275 HRESULT Optimize ( DWORD flags )
276 HRESULT SetDisplaceParam (
277 LPDIRECT3DBASETEXTURE9 Texture,
278 D3DTEXTUREFILTERTYPE MinFilter,
279 D3DTEXTUREFILTERTYPE MagFilter,
280 D3DTEXTUREFILTERTYPE MipFilter,
281 D3DTEXTUREADDRESS Wrap,
283 HRESULT GetDisplaceParam (
284 LPDIRECT3DBASETEXTURE9* Texture,
285 D3DTEXTUREFILTERTYPE* MinFilter,
286 D3DTEXTUREFILTERTYPE* MagFilter,
287 D3DTEXTUREFILTERTYPE* MipFilter,
288 D3DTEXTUREADDRESS* Wrap,
290 HRESULT Tessellate ( FLOAT fTessLevel, LPD3DXMESH pMesh )
291 HRESULT TessellateAdaptive (
293 DWORD dwMaxTessLevel,
294 DWORD dwMinTessLevel,
297 COM-INTERFACE: ID3DXSkinInfo IUnknown {11EAA540-F9A6-4d49-AE6A-E19221F70CC4}
298 HRESULT SetBoneInfluence ( DWORD bone, DWORD numInfluences, DWORD* vertices, FLOAT* weights )
299 HRESULT SetBoneVertexInfluence ( DWORD boneNum, DWORD influenceNum, FLOAT weight )
300 DWORD GetNumBoneInfluences ( DWORD bone )
301 HRESULT GetBoneInfluence ( DWORD bone, DWORD* vertices, FLOAT* weights )
302 HRESULT GetBoneVertexInfluence ( DWORD boneNum, DWORD influenceNum, FLOAT* pWeight, DWORD* pVertexNum )
303 HRESULT GetMaxVertexInfluences ( DWORD* maxVertexInfluences )
304 DWORD GetNumBones ( )
305 HRESULT FindBoneVertexInfluenceIndex ( DWORD boneNum, DWORD vertexNum, DWORD* pInfluenceIndex )
306 HRESULT GetMaxFaceInfluences ( LPDIRECT3DINDEXBUFFER9 pIB, DWORD NumFaces, DWORD* maxFaceInfluences )
307 HRESULT SetMinBoneInfluence ( FLOAT MinInfl )
308 FLOAT GetMinBoneInfluence ( )
309 HRESULT SetBoneName ( DWORD Bone, LPCSTR pName )
310 LPCSTR GetBoneName ( DWORD Bone )
311 HRESULT SetBoneOffsetMatrix ( DWORD Bone, D3DXMATRIX* pBoneTransform )
312 LPD3DXMATRIX GetBoneOffsetMatrix ( DWORD Bone )
313 HRESULT Clone ( LPD3DXSKININFO* ppSkinInfo )
314 HRESULT Remap ( DWORD NumVertices, DWORD* pVertexRemap )
315 HRESULT SetFVF ( DWORD FVF )
316 HRESULT SetDeclaration ( D3DVERTEXELEMENT9* pDeclaration )
318 HRESULT GetDeclaration ( D3DVERTEXELEMENT9* Declaration )
319 HRESULT UpdateSkinnedMesh (
320 D3DXMATRIX* pBoneTransforms,
321 D3DXMATRIX* pBoneInvTransposeTransforms,
322 LPCVOID pVerticesSrc,
324 HRESULT ConvertToBlendedMesh (
328 LPDWORD pAdjacencyOut,
330 LPD3DXBUFFER* ppVertexRemap,
332 DWORD* pNumBoneCombinations,
333 LPD3DXBUFFER* ppBoneCombinationTable,
335 HRESULT ConvertToIndexedBlendedMesh (
340 LPDWORD pAdjacencyOut,
342 LPD3DXBUFFER* ppVertexRemap,
343 DWORD* pMaxVertexInfl,
344 DWORD* pNumBoneCombinations,
345 LPD3DXBUFFER* ppBoneCombinationTable,
346 LPD3DXMESH* ppMesh ) ;
353 D3DVERTEXELEMENT9* pDeclaration,
354 LPDIRECT3DDEVICE9 pD3DDevice,
363 LPDIRECT3DDEVICE9 pD3DDevice,
370 D3DXATTRIBUTEWEIGHTS* pVertexAttributeWeights,
371 FLOAT* pVertexWeights,
372 LPD3DXSPMESH* ppSMesh )
376 D3DXCLEANTYPE CleanType,
379 LPD3DXMESH* ppMeshOut,
380 DWORD* pAdjacencyOut,
381 LPD3DXBUFFER* ppErrorsAndWarnings )
387 LPD3DXBUFFER* ppErrorsAndWarnings )
393 D3DXATTRIBUTEWEIGHTS* pVertexAttributeWeights,
394 FLOAT* pVertexWeights,
397 LPD3DXPMESH* ppPMesh )
403 D3DXATTRIBUTEWEIGHTS* pVertexAttributeWeights,
404 FLOAT* pVertexWeights,
410 D3DXComputeBoundingSphere (
411 D3DXVECTOR3* pFirstPosition,
414 D3DXVECTOR3* pCenter,
418 D3DXComputeBoundingBox (
419 D3DXVECTOR3* pFirstPosition,
427 LPD3DXBASEMESH pMesh,
433 LPD3DXBUFFER* ppBuffer )
439 LPDIRECT3DDEVICE9 pD3DDevice,
440 LPD3DXBUFFER* ppAdjacency,
441 LPD3DXBUFFER* ppMaterials,
442 LPD3DXBUFFER* ppEffectInstances,
443 DWORD* pNumMaterials,
450 LPDIRECT3DDEVICE9 pD3DDevice,
451 LPD3DXBUFFER* ppAdjacency,
452 LPD3DXBUFFER* ppMaterials,
453 LPD3DXBUFFER* ppEffectInstances,
454 DWORD* pNumMaterials,
457 ALIAS: D3DXLoadMeshFromX D3DXLoadMeshFromXW
460 D3DXLoadMeshFromXInMemory (
464 LPDIRECT3DDEVICE9 pD3DDevice,
465 LPD3DXBUFFER* ppAdjacency,
466 LPD3DXBUFFER* ppMaterials,
467 LPD3DXBUFFER* ppEffectInstances,
468 DWORD* pNumMaterials,
472 D3DXLoadMeshFromXResource (
477 LPDIRECT3DDEVICE9 pD3DDevice,
478 LPD3DXBUFFER* ppAdjacency,
479 LPD3DXBUFFER* ppMaterials,
480 LPD3DXBUFFER* ppEffectInstances,
481 DWORD* pNumMaterials,
489 D3DXMATERIAL* pMaterials,
490 D3DXEFFECTINSTANCE* pEffectInstances,
499 D3DXMATERIAL* pMaterials,
500 D3DXEFFECTINSTANCE* pEffectInstances,
504 ALIAS: D3DXSaveMeshToX D3DXSaveMeshToXW
507 D3DXCreatePMeshFromStream (
510 LPDIRECT3DDEVICE9 pD3DDevice,
511 LPD3DXBUFFER* ppMaterials,
512 LPD3DXBUFFER* ppEffectInstances,
513 DWORD* pNumMaterials,
514 LPD3DXPMESH* ppPMesh )
519 D3DVERTEXELEMENT9* pDeclaration,
521 LPD3DXSKININFO* ppSkinInfo )
524 D3DXCreateSkinInfoFVF (
528 LPD3DXSKININFO* ppSkinInfo )
531 D3DXLoadMeshFromXof (
532 LPD3DXFILEDATA pxofMesh,
534 LPDIRECT3DDEVICE9 pD3DDevice,
535 LPD3DXBUFFER* ppAdjacency,
536 LPD3DXBUFFER* ppMaterials,
537 LPD3DXBUFFER* ppEffectInstances,
538 DWORD* pNumMaterials,
542 D3DXLoadSkinMeshFromXof (
543 LPD3DXFILEDATA pxofMesh,
545 LPDIRECT3DDEVICE9 pD3DDevice,
546 LPD3DXBUFFER* ppAdjacency,
547 LPD3DXBUFFER* ppMaterials,
548 LPD3DXBUFFER* ppEffectInstances,
550 LPD3DXSKININFO* ppSkinInfo,
554 D3DXCreateSkinInfoFromBlendedMesh (
555 LPD3DXBASEMESH pMesh,
557 D3DXBONECOMBINATION* pBoneCombinationTable,
558 LPD3DXSKININFO* ppSkinInfo )
561 D3DXTessellateNPatches (
565 BOOL QuadraticInterpNormals,
566 LPD3DXMESH* ppMeshOut,
567 LPD3DXBUFFER* ppAdjacencyOut )
570 D3DXGenerateOutputDecl (
571 D3DVERTEXELEMENT9* pOutput,
572 D3DVERTEXELEMENT9* pInput )
575 D3DXLoadPatchMeshFromXof (
576 LPD3DXFILEDATA pXofObjMesh,
578 LPDIRECT3DDEVICE9 pD3DDevice,
579 LPD3DXBUFFER* ppMaterials,
580 LPD3DXBUFFER* ppEffectInstances,
581 PDWORD pNumMaterials,
582 LPD3DXPATCHMESH* ppMesh )
597 D3DXTessellateRectPatch (
598 LPDIRECT3DVERTEXBUFFER9 pVB,
600 D3DVERTEXELEMENT9* pdwInDecl,
601 D3DRECTPATCH_INFO* pRectPatchInfo,
605 D3DXTessellateTriPatch (
606 LPDIRECT3DVERTEXBUFFER9 pVB,
608 D3DVERTEXELEMENT9* pInDecl,
609 D3DTRIPATCH_INFO* pTriPatchInfo,
613 D3DXCreateNPatchMesh (
614 LPD3DXMESH pMeshSysMem,
615 LPD3DXPATCHMESH* pPatchMesh )
618 D3DXCreatePatchMesh (
619 D3DXPATCHINFO* pInfo,
623 D3DVERTEXELEMENT9* pDecl,
624 LPDIRECT3DDEVICE9 pD3DDevice,
625 LPD3DXPATCHMESH* pPatchMesh )
629 LPD3DXPATCHMESH pMesh,
630 DWORD* dwcDegenerateVertices,
631 DWORD* dwcDegeneratePatches,
632 LPD3DXBUFFER* ppErrorsAndWarnings )
635 D3DXGetFVFVertexSize ( DWORD FVF )
638 D3DXGetDeclVertexSize ( D3DVERTEXELEMENT9* pDecl, DWORD Stream )
641 D3DXGetDeclLength ( D3DVERTEXELEMENT9* pDecl )
644 D3DXDeclaratorFromFVF (
646 D3DVERTEXELEMENT9* pDeclarator )
649 D3DXFVFFromDeclarator (
650 D3DVERTEXELEMENT9* pDeclarator,
657 D3DXWELDEPSILONS* pEpsilons,
659 DWORD* pAdjacencyOut,
661 LPD3DXBUFFER* ppVertexRemap )
663 STRUCT: D3DXINTERSECTINFO
668 TYPEDEF: D3DXINTERSECTINFO* LPD3DXINTERSECTINFO
672 LPD3DXBASEMESH pMesh,
673 D3DXVECTOR3* pRayPos,
674 D3DXVECTOR3* pRayDir,
680 LPD3DXBUFFER* ppAllHits,
681 DWORD* pCountOfHits )
684 D3DXIntersectSubset (
685 LPD3DXBASEMESH pMesh,
687 D3DXVECTOR3* pRayPos,
688 D3DXVECTOR3* pRayDir,
694 LPD3DXBUFFER* ppAllHits,
695 DWORD* pCountOfHits )
697 FUNCTION: HRESULT D3DXSplitMesh (
703 LPD3DXBUFFER* ppMeshArrayOut,
704 LPD3DXBUFFER* ppAdjacencyArrayOut,
705 LPD3DXBUFFER* ppFaceRemapArrayOut,
706 LPD3DXBUFFER* ppVertRemapArrayOut )
708 FUNCTION: BOOL D3DXIntersectTri (
712 D3DXVECTOR3* pRayPos,
713 D3DXVECTOR3* pRayDir,
719 D3DXSphereBoundProbe (
720 D3DXVECTOR3* pCenter,
722 D3DXVECTOR3* pRayPosition,
723 D3DXVECTOR3* pRayDirection )
729 D3DXVECTOR3* pRayPosition,
730 D3DXVECTOR3* pRayDirection )
732 FUNCTION: HRESULT D3DXComputeTangentFrame (
736 FUNCTION: HRESULT D3DXComputeTangentFrameEx (
738 DWORD dwTextureInSemantic,
739 DWORD dwTextureInIndex,
740 DWORD dwUPartialOutSemantic,
741 DWORD dwUPartialOutIndex,
742 DWORD dwVPartialOutSemantic,
743 DWORD dwVPartialOutIndex,
744 DWORD dwNormalOutSemantic,
745 DWORD dwNormalOutIndex,
748 FLOAT fPartialEdgeThreshold,
749 FLOAT fSingularPointThreshold,
750 FLOAT fNormalEdgeThreshold,
751 ID3DXMesh** ppMeshOut,
752 ID3DXBuffer** ppVertexMapping )
754 FUNCTION: HRESULT D3DXComputeTangent (
762 C-TYPE: D3DXUVATLASCB
763 TYPEDEF: D3DXUVATLASCB* LPD3DXUVATLASCB
765 FUNCTION: HRESULT D3DXUVAtlasCreate (
767 UINT uMaxChartNumber,
772 DWORD dwTextureIndex,
774 DWORD* pdwFalseEdgeAdjacency,
776 LPD3DXUVATLASCB pStatusCallback,
777 FLOAT fCallbackFrequency,
780 LPD3DXMESH* ppMeshOut,
781 LPD3DXBUFFER* ppFacePartitioning,
782 LPD3DXBUFFER* ppVertexRemapArray,
783 FLOAT* pfMaxStretchOut,
784 UINT* puNumChartsOut )
786 FUNCTION: HRESULT D3DXUVAtlasPartition (
788 UINT uMaxChartNumber,
790 DWORD dwTextureIndex,
792 DWORD* pdwFalseEdgeAdjacency,
794 LPD3DXUVATLASCB pStatusCallback,
795 FLOAT fCallbackFrequency,
798 LPD3DXMESH* ppMeshOut,
799 LPD3DXBUFFER* ppFacePartitioning,
800 LPD3DXBUFFER* ppVertexRemapArray,
801 LPD3DXBUFFER* ppPartitionResultAdjacency,
802 FLOAT* pfMaxStretchOut,
803 UINT* puNumChartsOut )
805 FUNCTION: HRESULT D3DXUVAtlasPack (
810 DWORD dwTextureIndex,
811 DWORD* pdwPartitionResultAdjacency,
812 LPD3DXUVATLASCB pStatusCallback,
813 FLOAT fCallbackFrequency,
816 LPD3DXBUFFER pFacePartitioning )
818 TYPEDEF: void* LPD3DXIMTSIGNALCALLBACK
820 FUNCTION: HRESULT D3DXComputeIMTFromPerVertexSignal (
822 FLOAT* pfVertexSignal,
823 UINT uSignalDimension,
826 LPD3DXUVATLASCB pStatusCallback,
828 LPD3DXBUFFER* ppIMTData )
830 FUNCTION: HRESULT D3DXComputeIMTFromSignal (
832 DWORD dwTextureIndex,
833 UINT uSignalDimension,
834 FLOAT fMaxUVDistance,
836 LPD3DXIMTSIGNALCALLBACK pSignalCallback,
838 LPD3DXUVATLASCB pStatusCallback,
840 LPD3DXBUFFER* ppIMTData )
842 FUNCTION: HRESULT D3DXComputeIMTFromTexture (
844 LPDIRECT3DTEXTURE9 pTexture,
845 DWORD dwTextureIndex,
847 LPD3DXUVATLASCB pStatusCallback,
849 LPD3DXBUFFER* ppIMTData )
851 FUNCTION: HRESULT D3DXComputeIMTFromPerTexelSignal (
853 DWORD dwTextureIndex,
854 FLOAT* pfTexelSignal,
857 UINT uSignalDimension,
860 LPD3DXUVATLASCB pStatusCallback,
862 LPD3DXBUFFER* ppIMTData )
865 D3DXConvertMeshSubsetToSingleStrip (
866 LPD3DXBASEMESH MeshIn,
869 LPDIRECT3DINDEXBUFFER9* ppIndexBuffer,
873 D3DXConvertMeshSubsetToStrips (
874 LPD3DXBASEMESH MeshIn,
877 LPDIRECT3DINDEXBUFFER9* ppIndexBuffer,
879 LPD3DXBUFFER* ppStripLengths,
891 D3DXOptimizeVertices (
896 DWORD* pVertexRemap )
898 TYPEDEF: int D3DXSHCOMPRESSQUALITYTYPE
899 CONSTANT: D3DXSHCQUAL_FASTLOWQUALITY 1
900 CONSTANT: D3DXSHCQUAL_SLOWHIGHQUALITY 2
901 CONSTANT: D3DXSHCQUAL_FORCE_DWORD 0x7fffffff
903 TYPEDEF: int D3DXSHGPUSIMOPT
904 CONSTANT: D3DXSHGPUSIMOPT_SHADOWRES256 1
905 CONSTANT: D3DXSHGPUSIMOPT_SHADOWRES512 0
906 CONSTANT: D3DXSHGPUSIMOPT_SHADOWRES1024 2
907 CONSTANT: D3DXSHGPUSIMOPT_SHADOWRES2048 3
908 CONSTANT: D3DXSHGPUSIMOPT_HIGHQUALITY 4
909 CONSTANT: D3DXSHGPUSIMOPT_FORCE_DWORD 0x7fffffff
911 STRUCT: D3DXSHMATERIAL
912 { Diffuse D3DCOLORVALUE }
915 { RelativeIndexOfRefraction FLOAT }
916 { Absorption D3DCOLORVALUE }
917 { ReducedScattering D3DCOLORVALUE } ;
919 STRUCT: D3DXSHPRTSPLITMESHVERTDATA
922 { ucVertStatus UCHAR } ;
924 STRUCT: D3DXSHPRTSPLITMESHCLUSTERDATA
929 { uClusterStart UINT }
930 { uClusterLength UINT } ;
932 TYPEDEF: void* LPD3DXSHPRTSIMCB
934 C-TYPE: ID3DXTextureGutterHelper
935 C-TYPE: ID3DXPRTBuffer
937 COM-INTERFACE: ID3DXPRTBuffer IUnknown {F1827E47-00A8-49cd-908C-9D11955F8728}
938 UINT GetNumSamples ( )
939 UINT GetNumCoeffs ( )
940 UINT GetNumChannels ( )
944 HRESULT Resize ( UINT NewSize )
945 HRESULT LockBuffer ( UINT Start, UINT NumSamples, FLOAT** ppData )
946 HRESULT UnlockBuffer ( )
947 HRESULT ScaleBuffer ( FLOAT Scale )
948 HRESULT AddBuffer ( LPD3DXPRTBUFFER pBuffer )
949 HRESULT AttachGH ( LPD3DXTEXTUREGUTTERHELPER f )
950 HRESULT ReleaseGH ( )
952 HRESULT ExtractTexture ( UINT Channel, UINT StartCoefficient,
953 UINT NumCoefficients, LPDIRECT3DTEXTURE9 pTexture )
954 HRESULT ExtractToMesh ( UINT NumCoefficients, D3DDECLUSAGE Usage, UINT UsageIndexStart,
955 LPD3DXMESH pScene ) ;
957 C-TYPE: ID3DXPRTCompBuffer
958 TYPEDEF: ID3DXPRTCompBuffer* LPD3DXPRTCOMPBUFFER
960 COM-INTERFACE: ID3DXPRTCompBuffer IUnknown {A758D465-FE8D-45ad-9CF0-D01E56266A07}
961 UINT GetNumSamples ( )
962 UINT GetNumCoeffs ( )
963 UINT GetNumChannels ( )
967 UINT GetNumClusters ( )
969 HRESULT NormalizeData ( )
970 HRESULT ExtractBasis ( UINT Cluster, FLOAT* pClusterBasis )
971 HRESULT ExtractClusterIDs ( UINT* pClusterIDs )
972 HRESULT ExtractPCA ( UINT StartPCA, UINT NumExtract, FLOAT* pPCACoefficients )
973 HRESULT ExtractTexture ( UINT StartPCA, UINT NumpPCA,
974 LPDIRECT3DTEXTURE9 pTexture )
975 HRESULT ExtractToMesh ( UINT NumPCA, D3DDECLUSAGE Usage, UINT UsageIndexStart,
976 LPD3DXMESH pScene ) ;
978 COM-INTERFACE: ID3DXTextureGutterHelper IUnknown {838F01EC-9729-4527-AADB-DF70ADE7FEA9}
981 HRESULT ApplyGuttersFLOAT ( FLOAT* pDataIn, UINT NumCoeffs, UINT Width, UINT Height )
982 HRESULT ApplyGuttersTex ( LPDIRECT3DTEXTURE9 pTexture )
983 HRESULT ApplyGuttersPRT ( LPD3DXPRTBUFFER pBuffer )
984 HRESULT ResampleTex (
985 LPDIRECT3DTEXTURE9 pTextureIn,
989 LPDIRECT3DTEXTURE9 pTextureOut )
990 HRESULT GetFaceMap ( UINT* pFaceData )
991 HRESULT GetBaryMap ( D3DXVECTOR2* pBaryData )
992 HRESULT GetTexelMap ( D3DXVECTOR2* pTexelData )
993 HRESULT GetGutterMap ( BYTE* pGutterData )
994 HRESULT SetFaceMap ( UINT* pFaceData )
995 HRESULT SetBaryMap ( D3DXVECTOR2* pBaryData )
996 HRESULT SetTexelMap ( D3DXVECTOR2* pTexelData )
997 HRESULT SetGutterMap ( BYTE* pGutterData ) ;
999 C-TYPE: ID3DXPRTEngine
1000 TYPEDEF: ID3DXPRTEngine* LPD3DXPRTENGINE
1002 COM-INTERFACE: ID3DXPRTEngine IUnknown {683A4278-CD5F-4d24-90AD-C4E1B6855D53}
1003 HRESULT SetMeshMaterials ( D3DXSHMATERIAL** ppMaterials, UINT NumMeshes,
1004 UINT NumChannels, BOOL bSetAlbedo, FLOAT fLengthScale )
1005 HRESULT SetPerVertexAlbedo ( VOID* pDataIn, UINT NumChannels, UINT Stride )
1006 HRESULT SetPerTexelAlbedo ( LPDIRECT3DTEXTURE9 pAlbedoTexture,
1008 LPD3DXTEXTUREGUTTERHELPER pGH )
1009 HRESULT GetVertexAlbedo ( D3DXCOLOR* pVertColors, UINT NumVerts )
1010 HRESULT SetPerTexelNormal ( LPDIRECT3DTEXTURE9 pNormalTexture )
1011 HRESULT ExtractPerVertexAlbedo ( LPD3DXMESH pMesh,
1014 HRESULT ResampleBuffer ( LPD3DXPRTBUFFER pBufferIn, LPD3DXPRTBUFFER pBufferOut )
1015 HRESULT GetAdaptedMesh ( LPDIRECT3DDEVICE9 pD3DDevice, UINT* pFaceRemap, UINT* pVertRemap, FLOAT* pfVertWeights, LPD3DXMESH* ppMesh )
1016 UINT GetNumVerts ( )
1017 UINT GetNumFaces ( )
1018 HRESULT SetMinMaxIntersection ( FLOAT fMin, FLOAT fMax )
1019 HRESULT RobustMeshRefine ( FLOAT MinEdgeLength, UINT MaxSubdiv )
1020 HRESULT SetSamplingInfo ( UINT NumRays,
1024 FLOAT AdaptiveThresh )
1025 HRESULT ComputeDirectLightingSH ( UINT SHOrder,
1026 LPD3DXPRTBUFFER pDataOut )
1027 HRESULT ComputeDirectLightingSHAdaptive ( UINT SHOrder,
1028 FLOAT AdaptiveThresh,
1029 FLOAT MinEdgeLength,
1031 LPD3DXPRTBUFFER pDataOut )
1032 HRESULT ComputeDirectLightingSHGPU ( LPDIRECT3DDEVICE9 pD3DDevice,
1037 LPD3DXPRTBUFFER pDataOut )
1038 HRESULT ComputeSS ( LPD3DXPRTBUFFER pDataIn,
1039 LPD3DXPRTBUFFER pDataOut, LPD3DXPRTBUFFER pDataTotal )
1040 HRESULT ComputeSSAdaptive ( LPD3DXPRTBUFFER pDataIn,
1041 FLOAT AdaptiveThresh,
1042 FLOAT MinEdgeLength,
1044 LPD3DXPRTBUFFER pDataOut, LPD3DXPRTBUFFER pDataTotal )
1045 HRESULT ComputeBounce ( LPD3DXPRTBUFFER pDataIn,
1046 LPD3DXPRTBUFFER pDataOut,
1047 LPD3DXPRTBUFFER pDataTotal )
1048 HRESULT ComputeBounceAdaptive ( LPD3DXPRTBUFFER pDataIn,
1049 FLOAT AdaptiveThresh,
1050 FLOAT MinEdgeLength,
1052 LPD3DXPRTBUFFER pDataOut,
1053 LPD3DXPRTBUFFER pDataTotal )
1054 HRESULT ComputeVolumeSamplesDirectSH ( UINT SHOrderIn,
1057 D3DXVECTOR3* pSampleLocs,
1058 LPD3DXPRTBUFFER pDataOut )
1059 HRESULT ComputeVolumeSamples ( LPD3DXPRTBUFFER pSurfDataIn,
1062 D3DXVECTOR3* pSampleLocs,
1063 LPD3DXPRTBUFFER pDataOut )
1064 HRESULT ComputeSurfSamplesDirectSH ( UINT SHOrder,
1066 D3DXVECTOR3* pSampleLocs,
1067 D3DXVECTOR3* pSampleNorms,
1068 LPD3DXPRTBUFFER pDataOut )
1069 HRESULT ComputeSurfSamplesBounce ( LPD3DXPRTBUFFER pSurfDataIn,
1071 D3DXVECTOR3* pSampleLocs,
1072 D3DXVECTOR3* pSampleNorms,
1073 LPD3DXPRTBUFFER pDataOut,
1074 LPD3DXPRTBUFFER pDataTotal )
1075 HRESULT FreeSSData ( )
1076 HRESULT FreeBounceData ( )
1077 HRESULT ComputeLDPRTCoeffs ( LPD3DXPRTBUFFER pDataIn,
1079 D3DXVECTOR3* pNormOut,
1080 LPD3DXPRTBUFFER pDataOut )
1081 HRESULT ScaleMeshChunk ( UINT uMeshChunk, FLOAT fScale, LPD3DXPRTBUFFER pDataOut )
1082 HRESULT MultiplyAlbedo ( LPD3DXPRTBUFFER pDataOut )
1083 HRESULT SetCallBack ( LPD3DXSHPRTSIMCB pCB, FLOAT Frequency, LPVOID lpUserContext )
1084 BOOL ShadowRayIntersects ( D3DXVECTOR3* pRayPos, D3DXVECTOR3* pRayDir )
1085 BOOL ClosestRayIntersects ( D3DXVECTOR3* pRayPos, D3DXVECTOR3* pRayDir,
1086 DWORD* pFaceIndex, FLOAT* pU, FLOAT* pV, FLOAT* pDist ) ;
1089 D3DXCreatePRTBuffer (
1093 LPD3DXPRTBUFFER* ppBuffer )
1096 D3DXCreatePRTBufferTex (
1101 LPD3DXPRTBUFFER* ppBuffer )
1104 D3DXLoadPRTBufferFromFileA (
1106 LPD3DXPRTBUFFER* ppBuffer )
1109 D3DXLoadPRTBufferFromFileW (
1111 LPD3DXPRTBUFFER* ppBuffer )
1113 ALIAS: D3DXLoadPRTBufferFromFile D3DXLoadPRTBufferFromFileW
1116 D3DXSavePRTBufferToFileA (
1118 LPD3DXPRTBUFFER pBuffer )
1121 D3DXSavePRTBufferToFileW (
1123 LPD3DXPRTBUFFER pBuffer )
1125 ALIAS: D3DXSavePRTBufferToFile D3DXSavePRTBufferToFileW
1127 C-TYPE: D3DXPRTCompBuffer
1128 ! TYPEDEF: D3DXPRTCOMPBUFFER* LPD3DXPRTCOMPBUFFER
1131 D3DXLoadPRTCompBufferFromFileA (
1133 LPD3DXPRTCOMPBUFFER* ppBuffer )
1136 D3DXLoadPRTCompBufferFromFileW (
1138 LPD3DXPRTCOMPBUFFER* ppBuffer )
1140 ALIAS: D3DXLoadPRTCompBufferFromFile D3DXLoadPRTCompBufferFromFileW
1143 D3DXSavePRTCompBufferToFileA (
1145 LPD3DXPRTCOMPBUFFER pBuffer )
1148 D3DXSavePRTCompBufferToFileW (
1150 LPD3DXPRTCOMPBUFFER pBuffer )
1152 ALIAS: D3DXSavePRTCompBufferToFile D3DXSavePRTCompBufferToFileW
1155 D3DXCreatePRTCompBuffer (
1156 D3DXSHCOMPRESSQUALITYTYPE Quality,
1159 LPD3DXSHPRTSIMCB pCB,
1160 LPVOID lpUserContext,
1161 LPD3DXPRTBUFFER pBufferIn,
1162 LPD3DXPRTCOMPBUFFER* ppBufferOut )
1165 D3DXCreateTextureGutterHelper (
1170 LPD3DXTEXTUREGUTTERHELPER* ppBuffer )
1173 D3DXCreatePRTEngine (
1177 LPD3DXMESH pBlockerMesh,
1178 LPD3DXPRTENGINE* ppEngine )
1181 D3DXConcatenateMeshes (
1182 LPD3DXMESH* ppMeshes,
1185 D3DXMATRIX* pGeomXForms,
1186 D3DXMATRIX* pTextureXForms,
1187 D3DVERTEXELEMENT9* pDecl,
1188 LPDIRECT3DDEVICE9 pD3DDevice,
1189 LPD3DXMESH* ppMeshOut )
1192 D3DXSHPRTCompSuperCluster (
1195 UINT MaxNumClusters,
1197 UINT* pSuperClusterIDs,
1198 UINT* pNumSuperClusters )
1201 D3DXSHPRTCompSplitMeshSC (
1205 UINT* pSuperClusterIDs,
1206 UINT NumSuperClusters,
1208 BOOL InputIBIs32Bit,
1210 LPD3DXBUFFER* ppIBData,
1211 UINT* pIBDataLength,
1212 BOOL OutputIBIs32Bit,
1213 LPD3DXBUFFER* ppFaceRemap,
1214 LPD3DXBUFFER* ppVertData,
1215 UINT* pVertDataLength,
1216 UINT* pSCClusterList,
1217 D3DXSHPRTSPLITMESHCLUSTERDATA* pSCData )