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 ) ;
182 COM-INTERFACE: ID3DXMesh ID3DXBaseMesh {4020E5C2-1403-4929-883F-E2E849FAC195}
183 HRESULT LockAttributeBuffer ( DWORD Flags, DWORD** ppData )
184 HRESULT UnlockAttributeBuffer ( )
185 HRESULT Optimize ( DWORD Flags, DWORD* pAdjacencyIn, DWORD* pAdjacencyOut,
186 DWORD* pFaceRemap, LPD3DXBUFFER* ppVertexRemap,
187 LPD3DXMESH* ppOptMesh )
188 HRESULT OptimizeInplace ( DWORD Flags, DWORD* pAdjacencyIn, DWORD* pAdjacencyOut,
189 DWORD* pFaceRemap, LPD3DXBUFFER* ppVertexRemap )
190 HRESULT SetAttributeTable ( D3DXATTRIBUTERANGE* pAttribTable, DWORD cAttribTableSize ) ;
192 COM-INTERFACE: ID3DXPMesh ID3DXBaseMesh {8875769A-D579-4088-AAEB-534D1AD84E96}
193 HRESULT ClonePMeshFVF ( DWORD Options,
194 DWORD FVF, LPDIRECT3DDEVICE9 pD3DDevice, LPD3DXPMESH* ppCloneMesh )
195 HRESULT ClonePMesh ( DWORD Options,
196 D3DVERTEXELEMENT9* pDeclaration, LPDIRECT3DDEVICE9 pD3DDevice, LPD3DXPMESH* ppCloneMesh )
197 HRESULT SetNumFaces ( DWORD Faces )
198 HRESULT SetNumVertices ( DWORD Vertices )
199 DWORD GetMaxFaces ( )
200 DWORD GetMinFaces ( )
201 DWORD GetMaxVertices ( )
202 DWORD GetMinVertices ( )
203 HRESULT Save ( IStream* pStream, D3DXMATERIAL* pMaterials, D3DXEFFECTINSTANCE* pEffectInstances, DWORD NumMaterials )
204 HRESULT Optimize ( DWORD Flags, DWORD* pAdjacencyOut,
205 DWORD* pFaceRemap, LPD3DXBUFFER* ppVertexRemap,
206 LPD3DXMESH* ppOptMesh )
207 HRESULT OptimizeBaseLOD ( DWORD Flags, DWORD* pFaceRemap )
208 HRESULT TrimByFaces ( DWORD NewFacesMin, DWORD NewFacesMax, DWORD* rgiFaceRemap, DWORD* rgiVertRemap )
209 HRESULT TrimByVertices ( DWORD NewVerticesMin, DWORD NewVerticesMax, DWORD* rgiFaceRemap, DWORD* rgiVertRemap )
210 HRESULT GetAdjacency ( DWORD* pAdjacency )
211 HRESULT GenerateVertexHistory ( DWORD* pVertexHistory ) ;
213 COM-INTERFACE: ID3DXSPMesh IUnknown {667EA4C7-F1CD-4386-B523-7C0290B83CC5}
214 DWORD GetNumFaces ( )
215 DWORD GetNumVertices ( )
217 HRESULT GetDeclaration ( D3DVERTEXELEMENT9* Declaration )
219 HRESULT GetDevice ( LPDIRECT3DDEVICE9* ppDevice )
220 HRESULT CloneMeshFVF ( DWORD Options,
221 DWORD FVF, LPDIRECT3DDEVICE9 pD3DDevice, DWORD* pAdjacencyOut, DWORD* pVertexRemapOut, LPD3DXMESH* ppCloneMesh )
222 HRESULT CloneMesh ( DWORD Options,
223 D3DVERTEXELEMENT9* pDeclaration, LPDIRECT3DDEVICE9 pD3DDevice, DWORD* pAdjacencyOut, DWORD* pVertexRemapOut, LPD3DXMESH* ppCloneMesh )
224 HRESULT ClonePMeshFVF ( DWORD Options,
225 DWORD FVF, LPDIRECT3DDEVICE9 pD3DDevice, DWORD* pVertexRemapOut, FLOAT* pErrorsByFace, LPD3DXPMESH* ppCloneMesh )
226 HRESULT ClonePMesh ( DWORD Options,
227 D3DVERTEXELEMENT9* pDeclaration, LPDIRECT3DDEVICE9 pD3DDevice, DWORD* pVertexRemapOut, FLOAT* pErrorsbyFace, LPD3DXPMESH* ppCloneMesh )
228 HRESULT ReduceFaces ( DWORD Faces )
229 HRESULT ReduceVertices ( DWORD Vertices )
230 DWORD GetMaxFaces ( )
231 DWORD GetMaxVertices ( )
232 HRESULT GetVertexAttributeWeights ( LPD3DXATTRIBUTEWEIGHTS pVertexAttributeWeights )
233 HRESULT GetVertexWeights ( FLOAT* pVertexWeights ) ;
235 CONSTANT: D3DXMESHOPT_COMPACT 0x01000000
236 CONSTANT: D3DXMESHOPT_ATTRSORT 0x02000000
237 CONSTANT: D3DXMESHOPT_VERTEXCACHE 0x04000000
238 CONSTANT: D3DXMESHOPT_STRIPREORDER 0x08000000
239 CONSTANT: D3DXMESHOPT_IGNOREVERTS 0x10000000
240 CONSTANT: D3DXMESHOPT_DONOTSPLIT 0x20000000
241 CONSTANT: D3DXMESHOPT_DEVICEINDEPENDENT 0x00400000
243 STRUCT: D3DXBONECOMBINATION
247 { VertexStart DWORD }
248 { VertexCount DWORD }
250 TYPEDEF: D3DXBONECOMBINATION* LPD3DXBONECOMBINATION
252 STRUCT: D3DXPATCHINFO
253 { PatchType D3DXPATCHMESHTYPE }
254 { Degree D3DDEGREETYPE }
255 { Basis D3DBASISTYPE } ;
256 TYPEDEF: D3DXPATCHINFO* LPD3DXPATCHINFO
258 COM-INTERFACE: ID3DXPatchMesh IUnknown {3CE6CC22-DBF2-44f4-894D-F9C34A337139}
259 DWORD GetNumPatches ( )
260 DWORD GetNumVertices ( )
261 HRESULT GetDeclaration ( D3DVERTEXELEMENT9* Declaration )
262 DWORD GetControlVerticesPerPatch ( )
264 HRESULT GetDevice ( LPDIRECT3DDEVICE9* ppDevice )
265 HRESULT GetPatchInfo ( LPD3DXPATCHINFO PatchInfo )
266 HRESULT GetVertexBuffer ( LPDIRECT3DVERTEXBUFFER9* ppVB )
267 HRESULT GetIndexBuffer ( LPDIRECT3DINDEXBUFFER9* ppIB )
268 HRESULT LockVertexBuffer ( DWORD flags, LPVOID* ppData )
269 HRESULT UnlockVertexBuffer ( )
270 HRESULT LockIndexBuffer ( DWORD flags, LPVOID* ppData )
271 HRESULT UnlockIndexBuffer ( )
272 HRESULT LockAttributeBuffer ( DWORD flags, DWORD** ppData )
273 HRESULT UnlockAttributeBuffer ( )
274 HRESULT GetTessSize ( FLOAT fTessLevel, DWORD Adaptive, DWORD* NumTriangles, DWORD* NumVertices )
275 HRESULT GenerateAdjacency ( FLOAT Tolerance )
276 HRESULT CloneMesh ( DWORD Options, D3DVERTEXELEMENT9* pDecl, LPD3DXPATCHMESH* pMesh )
277 HRESULT Optimize ( DWORD flags )
278 HRESULT SetDisplaceParam (
279 LPDIRECT3DBASETEXTURE9 Texture,
280 D3DTEXTUREFILTERTYPE MinFilter,
281 D3DTEXTUREFILTERTYPE MagFilter,
282 D3DTEXTUREFILTERTYPE MipFilter,
283 D3DTEXTUREADDRESS Wrap,
285 HRESULT GetDisplaceParam (
286 LPDIRECT3DBASETEXTURE9* Texture,
287 D3DTEXTUREFILTERTYPE* MinFilter,
288 D3DTEXTUREFILTERTYPE* MagFilter,
289 D3DTEXTUREFILTERTYPE* MipFilter,
290 D3DTEXTUREADDRESS* Wrap,
292 HRESULT Tessellate ( FLOAT fTessLevel, LPD3DXMESH pMesh )
293 HRESULT TessellateAdaptive (
295 DWORD dwMaxTessLevel,
296 DWORD dwMinTessLevel,
299 COM-INTERFACE: ID3DXSkinInfo IUnknown {11EAA540-F9A6-4d49-AE6A-E19221F70CC4}
300 HRESULT SetBoneInfluence ( DWORD bone, DWORD numInfluences, DWORD* vertices, FLOAT* weights )
301 HRESULT SetBoneVertexInfluence ( DWORD boneNum, DWORD influenceNum, FLOAT weight )
302 DWORD GetNumBoneInfluences ( DWORD bone )
303 HRESULT GetBoneInfluence ( DWORD bone, DWORD* vertices, FLOAT* weights )
304 HRESULT GetBoneVertexInfluence ( DWORD boneNum, DWORD influenceNum, FLOAT* pWeight, DWORD* pVertexNum )
305 HRESULT GetMaxVertexInfluences ( DWORD* maxVertexInfluences )
306 DWORD GetNumBones ( )
307 HRESULT FindBoneVertexInfluenceIndex ( DWORD boneNum, DWORD vertexNum, DWORD* pInfluenceIndex )
308 HRESULT GetMaxFaceInfluences ( LPDIRECT3DINDEXBUFFER9 pIB, DWORD NumFaces, DWORD* maxFaceInfluences )
309 HRESULT SetMinBoneInfluence ( FLOAT MinInfl )
310 FLOAT GetMinBoneInfluence ( )
311 HRESULT SetBoneName ( DWORD Bone, LPCSTR pName )
312 LPCSTR GetBoneName ( DWORD Bone )
313 HRESULT SetBoneOffsetMatrix ( DWORD Bone, D3DXMATRIX* pBoneTransform )
314 LPD3DXMATRIX GetBoneOffsetMatrix ( DWORD Bone )
315 HRESULT Clone ( LPD3DXSKININFO* ppSkinInfo )
316 HRESULT Remap ( DWORD NumVertices, DWORD* pVertexRemap )
317 HRESULT SetFVF ( DWORD FVF )
318 HRESULT SetDeclaration ( D3DVERTEXELEMENT9* pDeclaration )
320 HRESULT GetDeclaration ( D3DVERTEXELEMENT9* Declaration )
321 HRESULT UpdateSkinnedMesh (
322 D3DXMATRIX* pBoneTransforms,
323 D3DXMATRIX* pBoneInvTransposeTransforms,
324 LPCVOID pVerticesSrc,
326 HRESULT ConvertToBlendedMesh (
330 LPDWORD pAdjacencyOut,
332 LPD3DXBUFFER* ppVertexRemap,
334 DWORD* pNumBoneCombinations,
335 LPD3DXBUFFER* ppBoneCombinationTable,
337 HRESULT ConvertToIndexedBlendedMesh (
342 LPDWORD pAdjacencyOut,
344 LPD3DXBUFFER* ppVertexRemap,
345 DWORD* pMaxVertexInfl,
346 DWORD* pNumBoneCombinations,
347 LPD3DXBUFFER* ppBoneCombinationTable,
348 LPD3DXMESH* ppMesh ) ;
355 D3DVERTEXELEMENT9* pDeclaration,
356 LPDIRECT3DDEVICE9 pD3DDevice,
365 LPDIRECT3DDEVICE9 pD3DDevice,
372 D3DXATTRIBUTEWEIGHTS* pVertexAttributeWeights,
373 FLOAT* pVertexWeights,
374 LPD3DXSPMESH* ppSMesh )
378 D3DXCLEANTYPE CleanType,
381 LPD3DXMESH* ppMeshOut,
382 DWORD* pAdjacencyOut,
383 LPD3DXBUFFER* ppErrorsAndWarnings )
389 LPD3DXBUFFER* ppErrorsAndWarnings )
395 D3DXATTRIBUTEWEIGHTS* pVertexAttributeWeights,
396 FLOAT* pVertexWeights,
399 LPD3DXPMESH* ppPMesh )
405 D3DXATTRIBUTEWEIGHTS* pVertexAttributeWeights,
406 FLOAT* pVertexWeights,
412 D3DXComputeBoundingSphere (
413 D3DXVECTOR3* pFirstPosition,
416 D3DXVECTOR3* pCenter,
420 D3DXComputeBoundingBox (
421 D3DXVECTOR3* pFirstPosition,
429 LPD3DXBASEMESH pMesh,
435 LPD3DXBUFFER* ppBuffer )
441 LPDIRECT3DDEVICE9 pD3DDevice,
442 LPD3DXBUFFER* ppAdjacency,
443 LPD3DXBUFFER* ppMaterials,
444 LPD3DXBUFFER* ppEffectInstances,
445 DWORD* pNumMaterials,
452 LPDIRECT3DDEVICE9 pD3DDevice,
453 LPD3DXBUFFER* ppAdjacency,
454 LPD3DXBUFFER* ppMaterials,
455 LPD3DXBUFFER* ppEffectInstances,
456 DWORD* pNumMaterials,
459 ALIAS: D3DXLoadMeshFromX D3DXLoadMeshFromXW
462 D3DXLoadMeshFromXInMemory (
466 LPDIRECT3DDEVICE9 pD3DDevice,
467 LPD3DXBUFFER* ppAdjacency,
468 LPD3DXBUFFER* ppMaterials,
469 LPD3DXBUFFER* ppEffectInstances,
470 DWORD* pNumMaterials,
474 D3DXLoadMeshFromXResource (
479 LPDIRECT3DDEVICE9 pD3DDevice,
480 LPD3DXBUFFER* ppAdjacency,
481 LPD3DXBUFFER* ppMaterials,
482 LPD3DXBUFFER* ppEffectInstances,
483 DWORD* pNumMaterials,
491 D3DXMATERIAL* pMaterials,
492 D3DXEFFECTINSTANCE* pEffectInstances,
501 D3DXMATERIAL* pMaterials,
502 D3DXEFFECTINSTANCE* pEffectInstances,
506 ALIAS: D3DXSaveMeshToX D3DXSaveMeshToXW
509 D3DXCreatePMeshFromStream (
512 LPDIRECT3DDEVICE9 pD3DDevice,
513 LPD3DXBUFFER* ppMaterials,
514 LPD3DXBUFFER* ppEffectInstances,
515 DWORD* pNumMaterials,
516 LPD3DXPMESH* ppPMesh )
521 D3DVERTEXELEMENT9* pDeclaration,
523 LPD3DXSKININFO* ppSkinInfo )
526 D3DXCreateSkinInfoFVF (
530 LPD3DXSKININFO* ppSkinInfo )
533 D3DXLoadMeshFromXof (
534 LPD3DXFILEDATA pxofMesh,
536 LPDIRECT3DDEVICE9 pD3DDevice,
537 LPD3DXBUFFER* ppAdjacency,
538 LPD3DXBUFFER* ppMaterials,
539 LPD3DXBUFFER* ppEffectInstances,
540 DWORD* pNumMaterials,
544 D3DXLoadSkinMeshFromXof (
545 LPD3DXFILEDATA pxofMesh,
547 LPDIRECT3DDEVICE9 pD3DDevice,
548 LPD3DXBUFFER* ppAdjacency,
549 LPD3DXBUFFER* ppMaterials,
550 LPD3DXBUFFER* ppEffectInstances,
552 LPD3DXSKININFO* ppSkinInfo,
556 D3DXCreateSkinInfoFromBlendedMesh (
557 LPD3DXBASEMESH pMesh,
559 D3DXBONECOMBINATION* pBoneCombinationTable,
560 LPD3DXSKININFO* ppSkinInfo )
563 D3DXTessellateNPatches (
567 BOOL QuadraticInterpNormals,
568 LPD3DXMESH* ppMeshOut,
569 LPD3DXBUFFER* ppAdjacencyOut )
572 D3DXGenerateOutputDecl (
573 D3DVERTEXELEMENT9* pOutput,
574 D3DVERTEXELEMENT9* pInput )
577 D3DXLoadPatchMeshFromXof (
578 LPD3DXFILEDATA pXofObjMesh,
580 LPDIRECT3DDEVICE9 pD3DDevice,
581 LPD3DXBUFFER* ppMaterials,
582 LPD3DXBUFFER* ppEffectInstances,
583 PDWORD pNumMaterials,
584 LPD3DXPATCHMESH* ppMesh )
599 D3DXTessellateRectPatch (
600 LPDIRECT3DVERTEXBUFFER9 pVB,
602 D3DVERTEXELEMENT9* pdwInDecl,
603 D3DRECTPATCH_INFO* pRectPatchInfo,
607 D3DXTessellateTriPatch (
608 LPDIRECT3DVERTEXBUFFER9 pVB,
610 D3DVERTEXELEMENT9* pInDecl,
611 D3DTRIPATCH_INFO* pTriPatchInfo,
615 D3DXCreateNPatchMesh (
616 LPD3DXMESH pMeshSysMem,
617 LPD3DXPATCHMESH* pPatchMesh )
620 D3DXCreatePatchMesh (
621 D3DXPATCHINFO* pInfo,
625 D3DVERTEXELEMENT9* pDecl,
626 LPDIRECT3DDEVICE9 pD3DDevice,
627 LPD3DXPATCHMESH* pPatchMesh )
631 LPD3DXPATCHMESH pMesh,
632 DWORD* dwcDegenerateVertices,
633 DWORD* dwcDegeneratePatches,
634 LPD3DXBUFFER* ppErrorsAndWarnings )
637 D3DXGetFVFVertexSize ( DWORD FVF )
640 D3DXGetDeclVertexSize ( D3DVERTEXELEMENT9* pDecl, DWORD Stream )
643 D3DXGetDeclLength ( D3DVERTEXELEMENT9* pDecl )
646 D3DXDeclaratorFromFVF (
648 D3DVERTEXELEMENT9* pDeclarator )
651 D3DXFVFFromDeclarator (
652 D3DVERTEXELEMENT9* pDeclarator,
659 D3DXWELDEPSILONS* pEpsilons,
661 DWORD* pAdjacencyOut,
663 LPD3DXBUFFER* ppVertexRemap )
665 STRUCT: D3DXINTERSECTINFO
670 TYPEDEF: D3DXINTERSECTINFO* LPD3DXINTERSECTINFO
674 LPD3DXBASEMESH pMesh,
675 D3DXVECTOR3* pRayPos,
676 D3DXVECTOR3* pRayDir,
682 LPD3DXBUFFER* ppAllHits,
683 DWORD* pCountOfHits )
686 D3DXIntersectSubset (
687 LPD3DXBASEMESH pMesh,
689 D3DXVECTOR3* pRayPos,
690 D3DXVECTOR3* pRayDir,
696 LPD3DXBUFFER* ppAllHits,
697 DWORD* pCountOfHits )
699 FUNCTION: HRESULT D3DXSplitMesh (
705 LPD3DXBUFFER* ppMeshArrayOut,
706 LPD3DXBUFFER* ppAdjacencyArrayOut,
707 LPD3DXBUFFER* ppFaceRemapArrayOut,
708 LPD3DXBUFFER* ppVertRemapArrayOut )
710 FUNCTION: BOOL D3DXIntersectTri (
714 D3DXVECTOR3* pRayPos,
715 D3DXVECTOR3* pRayDir,
721 D3DXSphereBoundProbe (
722 D3DXVECTOR3* pCenter,
724 D3DXVECTOR3* pRayPosition,
725 D3DXVECTOR3* pRayDirection )
731 D3DXVECTOR3* pRayPosition,
732 D3DXVECTOR3* pRayDirection )
734 FUNCTION: HRESULT D3DXComputeTangentFrame (
738 FUNCTION: HRESULT D3DXComputeTangentFrameEx (
740 DWORD dwTextureInSemantic,
741 DWORD dwTextureInIndex,
742 DWORD dwUPartialOutSemantic,
743 DWORD dwUPartialOutIndex,
744 DWORD dwVPartialOutSemantic,
745 DWORD dwVPartialOutIndex,
746 DWORD dwNormalOutSemantic,
747 DWORD dwNormalOutIndex,
750 FLOAT fPartialEdgeThreshold,
751 FLOAT fSingularPointThreshold,
752 FLOAT fNormalEdgeThreshold,
753 ID3DXMesh** ppMeshOut,
754 ID3DXBuffer** ppVertexMapping )
756 FUNCTION: HRESULT D3DXComputeTangent (
764 C-TYPE: D3DXUVATLASCB
765 TYPEDEF: D3DXUVATLASCB* LPD3DXUVATLASCB
767 FUNCTION: HRESULT D3DXUVAtlasCreate (
769 UINT uMaxChartNumber,
774 DWORD dwTextureIndex,
776 DWORD* pdwFalseEdgeAdjacency,
778 LPD3DXUVATLASCB pStatusCallback,
779 FLOAT fCallbackFrequency,
782 LPD3DXMESH* ppMeshOut,
783 LPD3DXBUFFER* ppFacePartitioning,
784 LPD3DXBUFFER* ppVertexRemapArray,
785 FLOAT* pfMaxStretchOut,
786 UINT* puNumChartsOut )
788 FUNCTION: HRESULT D3DXUVAtlasPartition (
790 UINT uMaxChartNumber,
792 DWORD dwTextureIndex,
794 DWORD* pdwFalseEdgeAdjacency,
796 LPD3DXUVATLASCB pStatusCallback,
797 FLOAT fCallbackFrequency,
800 LPD3DXMESH* ppMeshOut,
801 LPD3DXBUFFER* ppFacePartitioning,
802 LPD3DXBUFFER* ppVertexRemapArray,
803 LPD3DXBUFFER* ppPartitionResultAdjacency,
804 FLOAT* pfMaxStretchOut,
805 UINT* puNumChartsOut )
807 FUNCTION: HRESULT D3DXUVAtlasPack (
812 DWORD dwTextureIndex,
813 DWORD* pdwPartitionResultAdjacency,
814 LPD3DXUVATLASCB pStatusCallback,
815 FLOAT fCallbackFrequency,
818 LPD3DXBUFFER pFacePartitioning )
820 TYPEDEF: void* LPD3DXIMTSIGNALCALLBACK
822 FUNCTION: HRESULT D3DXComputeIMTFromPerVertexSignal (
824 FLOAT* pfVertexSignal,
825 UINT uSignalDimension,
828 LPD3DXUVATLASCB pStatusCallback,
830 LPD3DXBUFFER* ppIMTData )
832 FUNCTION: HRESULT D3DXComputeIMTFromSignal (
834 DWORD dwTextureIndex,
835 UINT uSignalDimension,
836 FLOAT fMaxUVDistance,
838 LPD3DXIMTSIGNALCALLBACK pSignalCallback,
840 LPD3DXUVATLASCB pStatusCallback,
842 LPD3DXBUFFER* ppIMTData )
844 FUNCTION: HRESULT D3DXComputeIMTFromTexture (
846 LPDIRECT3DTEXTURE9 pTexture,
847 DWORD dwTextureIndex,
849 LPD3DXUVATLASCB pStatusCallback,
851 LPD3DXBUFFER* ppIMTData )
853 FUNCTION: HRESULT D3DXComputeIMTFromPerTexelSignal (
855 DWORD dwTextureIndex,
856 FLOAT* pfTexelSignal,
859 UINT uSignalDimension,
862 LPD3DXUVATLASCB pStatusCallback,
864 LPD3DXBUFFER* ppIMTData )
867 D3DXConvertMeshSubsetToSingleStrip (
868 LPD3DXBASEMESH MeshIn,
871 LPDIRECT3DINDEXBUFFER9* ppIndexBuffer,
875 D3DXConvertMeshSubsetToStrips (
876 LPD3DXBASEMESH MeshIn,
879 LPDIRECT3DINDEXBUFFER9* ppIndexBuffer,
881 LPD3DXBUFFER* ppStripLengths,
893 D3DXOptimizeVertices (
898 DWORD* pVertexRemap )
900 TYPEDEF: int D3DXSHCOMPRESSQUALITYTYPE
901 CONSTANT: D3DXSHCQUAL_FASTLOWQUALITY 1
902 CONSTANT: D3DXSHCQUAL_SLOWHIGHQUALITY 2
903 CONSTANT: D3DXSHCQUAL_FORCE_DWORD 0x7fffffff
905 TYPEDEF: int D3DXSHGPUSIMOPT
906 CONSTANT: D3DXSHGPUSIMOPT_SHADOWRES256 1
907 CONSTANT: D3DXSHGPUSIMOPT_SHADOWRES512 0
908 CONSTANT: D3DXSHGPUSIMOPT_SHADOWRES1024 2
909 CONSTANT: D3DXSHGPUSIMOPT_SHADOWRES2048 3
910 CONSTANT: D3DXSHGPUSIMOPT_HIGHQUALITY 4
911 CONSTANT: D3DXSHGPUSIMOPT_FORCE_DWORD 0x7fffffff
913 STRUCT: D3DXSHMATERIAL
914 { Diffuse D3DCOLORVALUE }
917 { RelativeIndexOfRefraction FLOAT }
918 { Absorption D3DCOLORVALUE }
919 { ReducedScattering D3DCOLORVALUE } ;
921 STRUCT: D3DXSHPRTSPLITMESHVERTDATA
924 { ucVertStatus UCHAR } ;
926 STRUCT: D3DXSHPRTSPLITMESHCLUSTERDATA
931 { uClusterStart UINT }
932 { uClusterLength UINT } ;
934 TYPEDEF: void* LPD3DXSHPRTSIMCB
936 C-TYPE: ID3DXTextureGutterHelper
937 C-TYPE: ID3DXPRTBuffer
939 COM-INTERFACE: ID3DXPRTBuffer IUnknown {F1827E47-00A8-49cd-908C-9D11955F8728}
940 UINT GetNumSamples ( )
941 UINT GetNumCoeffs ( )
942 UINT GetNumChannels ( )
946 HRESULT Resize ( UINT NewSize )
947 HRESULT LockBuffer ( UINT Start, UINT NumSamples, FLOAT** ppData )
948 HRESULT UnlockBuffer ( )
949 HRESULT ScaleBuffer ( FLOAT Scale )
950 HRESULT AddBuffer ( LPD3DXPRTBUFFER pBuffer )
951 HRESULT AttachGH ( LPD3DXTEXTUREGUTTERHELPER f )
952 HRESULT ReleaseGH ( )
954 HRESULT ExtractTexture ( UINT Channel, UINT StartCoefficient,
955 UINT NumCoefficients, LPDIRECT3DTEXTURE9 pTexture )
956 HRESULT ExtractToMesh ( UINT NumCoefficients, D3DDECLUSAGE Usage, UINT UsageIndexStart,
957 LPD3DXMESH pScene ) ;
959 C-TYPE: ID3DXPRTCompBuffer
960 TYPEDEF: ID3DXPRTCompBuffer* LPD3DXPRTCOMPBUFFER
962 COM-INTERFACE: ID3DXPRTCompBuffer IUnknown {A758D465-FE8D-45ad-9CF0-D01E56266A07}
963 UINT GetNumSamples ( )
964 UINT GetNumCoeffs ( )
965 UINT GetNumChannels ( )
969 UINT GetNumClusters ( )
971 HRESULT NormalizeData ( )
972 HRESULT ExtractBasis ( UINT Cluster, FLOAT* pClusterBasis )
973 HRESULT ExtractClusterIDs ( UINT* pClusterIDs )
974 HRESULT ExtractPCA ( UINT StartPCA, UINT NumExtract, FLOAT* pPCACoefficients )
975 HRESULT ExtractTexture ( UINT StartPCA, UINT NumpPCA,
976 LPDIRECT3DTEXTURE9 pTexture )
977 HRESULT ExtractToMesh ( UINT NumPCA, D3DDECLUSAGE Usage, UINT UsageIndexStart,
978 LPD3DXMESH pScene ) ;
980 COM-INTERFACE: ID3DXTextureGutterHelper IUnknown {838F01EC-9729-4527-AADB-DF70ADE7FEA9}
983 HRESULT ApplyGuttersFLOAT ( FLOAT* pDataIn, UINT NumCoeffs, UINT Width, UINT Height )
984 HRESULT ApplyGuttersTex ( LPDIRECT3DTEXTURE9 pTexture )
985 HRESULT ApplyGuttersPRT ( LPD3DXPRTBUFFER pBuffer )
986 HRESULT ResampleTex (
987 LPDIRECT3DTEXTURE9 pTextureIn,
991 LPDIRECT3DTEXTURE9 pTextureOut )
992 HRESULT GetFaceMap ( UINT* pFaceData )
993 HRESULT GetBaryMap ( D3DXVECTOR2* pBaryData )
994 HRESULT GetTexelMap ( D3DXVECTOR2* pTexelData )
995 HRESULT GetGutterMap ( BYTE* pGutterData )
996 HRESULT SetFaceMap ( UINT* pFaceData )
997 HRESULT SetBaryMap ( D3DXVECTOR2* pBaryData )
998 HRESULT SetTexelMap ( D3DXVECTOR2* pTexelData )
999 HRESULT SetGutterMap ( BYTE* pGutterData ) ;
1001 C-TYPE: ID3DXPRTEngine
1002 TYPEDEF: ID3DXPRTEngine* LPD3DXPRTENGINE
1004 COM-INTERFACE: ID3DXPRTEngine IUnknown {683A4278-CD5F-4d24-90AD-C4E1B6855D53}
1005 HRESULT SetMeshMaterials ( D3DXSHMATERIAL** ppMaterials, UINT NumMeshes,
1006 UINT NumChannels, BOOL bSetAlbedo, FLOAT fLengthScale )
1007 HRESULT SetPerVertexAlbedo ( VOID* pDataIn, UINT NumChannels, UINT Stride )
1008 HRESULT SetPerTexelAlbedo ( LPDIRECT3DTEXTURE9 pAlbedoTexture,
1010 LPD3DXTEXTUREGUTTERHELPER pGH )
1011 HRESULT GetVertexAlbedo ( D3DXCOLOR* pVertColors, UINT NumVerts )
1012 HRESULT SetPerTexelNormal ( LPDIRECT3DTEXTURE9 pNormalTexture )
1013 HRESULT ExtractPerVertexAlbedo ( LPD3DXMESH pMesh,
1016 HRESULT ResampleBuffer ( LPD3DXPRTBUFFER pBufferIn, LPD3DXPRTBUFFER pBufferOut )
1017 HRESULT GetAdaptedMesh ( LPDIRECT3DDEVICE9 pD3DDevice, UINT* pFaceRemap, UINT* pVertRemap, FLOAT* pfVertWeights, LPD3DXMESH* ppMesh )
1018 UINT GetNumVerts ( )
1019 UINT GetNumFaces ( )
1020 HRESULT SetMinMaxIntersection ( FLOAT fMin, FLOAT fMax )
1021 HRESULT RobustMeshRefine ( FLOAT MinEdgeLength, UINT MaxSubdiv )
1022 HRESULT SetSamplingInfo ( UINT NumRays,
1026 FLOAT AdaptiveThresh )
1027 HRESULT ComputeDirectLightingSH ( UINT SHOrder,
1028 LPD3DXPRTBUFFER pDataOut )
1029 HRESULT ComputeDirectLightingSHAdaptive ( UINT SHOrder,
1030 FLOAT AdaptiveThresh,
1031 FLOAT MinEdgeLength,
1033 LPD3DXPRTBUFFER pDataOut )
1034 HRESULT ComputeDirectLightingSHGPU ( LPDIRECT3DDEVICE9 pD3DDevice,
1039 LPD3DXPRTBUFFER pDataOut )
1040 HRESULT ComputeSS ( LPD3DXPRTBUFFER pDataIn,
1041 LPD3DXPRTBUFFER pDataOut, LPD3DXPRTBUFFER pDataTotal )
1042 HRESULT ComputeSSAdaptive ( LPD3DXPRTBUFFER pDataIn,
1043 FLOAT AdaptiveThresh,
1044 FLOAT MinEdgeLength,
1046 LPD3DXPRTBUFFER pDataOut, LPD3DXPRTBUFFER pDataTotal )
1047 HRESULT ComputeBounce ( LPD3DXPRTBUFFER pDataIn,
1048 LPD3DXPRTBUFFER pDataOut,
1049 LPD3DXPRTBUFFER pDataTotal )
1050 HRESULT ComputeBounceAdaptive ( LPD3DXPRTBUFFER pDataIn,
1051 FLOAT AdaptiveThresh,
1052 FLOAT MinEdgeLength,
1054 LPD3DXPRTBUFFER pDataOut,
1055 LPD3DXPRTBUFFER pDataTotal )
1056 HRESULT ComputeVolumeSamplesDirectSH ( UINT SHOrderIn,
1059 D3DXVECTOR3* pSampleLocs,
1060 LPD3DXPRTBUFFER pDataOut )
1061 HRESULT ComputeVolumeSamples ( LPD3DXPRTBUFFER pSurfDataIn,
1064 D3DXVECTOR3* pSampleLocs,
1065 LPD3DXPRTBUFFER pDataOut )
1066 HRESULT ComputeSurfSamplesDirectSH ( UINT SHOrder,
1068 D3DXVECTOR3* pSampleLocs,
1069 D3DXVECTOR3* pSampleNorms,
1070 LPD3DXPRTBUFFER pDataOut )
1071 HRESULT ComputeSurfSamplesBounce ( LPD3DXPRTBUFFER pSurfDataIn,
1073 D3DXVECTOR3* pSampleLocs,
1074 D3DXVECTOR3* pSampleNorms,
1075 LPD3DXPRTBUFFER pDataOut,
1076 LPD3DXPRTBUFFER pDataTotal )
1077 HRESULT FreeSSData ( )
1078 HRESULT FreeBounceData ( )
1079 HRESULT ComputeLDPRTCoeffs ( LPD3DXPRTBUFFER pDataIn,
1081 D3DXVECTOR3* pNormOut,
1082 LPD3DXPRTBUFFER pDataOut )
1083 HRESULT ScaleMeshChunk ( UINT uMeshChunk, FLOAT fScale, LPD3DXPRTBUFFER pDataOut )
1084 HRESULT MultiplyAlbedo ( LPD3DXPRTBUFFER pDataOut )
1085 HRESULT SetCallBack ( LPD3DXSHPRTSIMCB pCB, FLOAT Frequency, LPVOID lpUserContext )
1086 BOOL ShadowRayIntersects ( D3DXVECTOR3* pRayPos, D3DXVECTOR3* pRayDir )
1087 BOOL ClosestRayIntersects ( D3DXVECTOR3* pRayPos, D3DXVECTOR3* pRayDir,
1088 DWORD* pFaceIndex, FLOAT* pU, FLOAT* pV, FLOAT* pDist ) ;
1091 D3DXCreatePRTBuffer (
1095 LPD3DXPRTBUFFER* ppBuffer )
1098 D3DXCreatePRTBufferTex (
1103 LPD3DXPRTBUFFER* ppBuffer )
1106 D3DXLoadPRTBufferFromFileA (
1108 LPD3DXPRTBUFFER* ppBuffer )
1111 D3DXLoadPRTBufferFromFileW (
1113 LPD3DXPRTBUFFER* ppBuffer )
1115 ALIAS: D3DXLoadPRTBufferFromFile D3DXLoadPRTBufferFromFileW
1118 D3DXSavePRTBufferToFileA (
1120 LPD3DXPRTBUFFER pBuffer )
1123 D3DXSavePRTBufferToFileW (
1125 LPD3DXPRTBUFFER pBuffer )
1127 ALIAS: D3DXSavePRTBufferToFile D3DXSavePRTBufferToFileW
1129 C-TYPE: D3DXPRTCompBuffer
1130 ! TYPEDEF: D3DXPRTCOMPBUFFER* LPD3DXPRTCOMPBUFFER
1133 D3DXLoadPRTCompBufferFromFileA (
1135 LPD3DXPRTCOMPBUFFER* ppBuffer )
1138 D3DXLoadPRTCompBufferFromFileW (
1140 LPD3DXPRTCOMPBUFFER* ppBuffer )
1142 ALIAS: D3DXLoadPRTCompBufferFromFile D3DXLoadPRTCompBufferFromFileW
1145 D3DXSavePRTCompBufferToFileA (
1147 LPD3DXPRTCOMPBUFFER pBuffer )
1150 D3DXSavePRTCompBufferToFileW (
1152 LPD3DXPRTCOMPBUFFER pBuffer )
1154 ALIAS: D3DXSavePRTCompBufferToFile D3DXSavePRTCompBufferToFileW
1157 D3DXCreatePRTCompBuffer (
1158 D3DXSHCOMPRESSQUALITYTYPE Quality,
1161 LPD3DXSHPRTSIMCB pCB,
1162 LPVOID lpUserContext,
1163 LPD3DXPRTBUFFER pBufferIn,
1164 LPD3DXPRTCOMPBUFFER* ppBufferOut )
1167 D3DXCreateTextureGutterHelper (
1172 LPD3DXTEXTUREGUTTERHELPER* ppBuffer )
1175 D3DXCreatePRTEngine (
1179 LPD3DXMESH pBlockerMesh,
1180 LPD3DXPRTENGINE* ppEngine )
1183 D3DXConcatenateMeshes (
1184 LPD3DXMESH* ppMeshes,
1187 D3DXMATRIX* pGeomXForms,
1188 D3DXMATRIX* pTextureXForms,
1189 D3DVERTEXELEMENT9* pDecl,
1190 LPDIRECT3DDEVICE9 pD3DDevice,
1191 LPD3DXMESH* ppMeshOut )
1194 D3DXSHPRTCompSuperCluster (
1197 UINT MaxNumClusters,
1199 UINT* pSuperClusterIDs,
1200 UINT* pNumSuperClusters )
1203 D3DXSHPRTCompSplitMeshSC (
1207 UINT* pSuperClusterIDs,
1208 UINT NumSuperClusters,
1210 BOOL InputIBIs32Bit,
1212 LPD3DXBUFFER* ppIBData,
1213 UINT* pIBDataLength,
1214 BOOL OutputIBIs32Bit,
1215 LPD3DXBUFFER* ppFaceRemap,
1216 LPD3DXBUFFER* ppVertData,
1217 UINT* pVertDataLength,
1218 UINT* pSCClusterList,
1219 D3DXSHPRTSPLITMESHCLUSTERDATA* pSCData )