12 #ifndef __D3DX9MESH_H__
13 #define __D3DX9MESH_H__
17 0x7ed943dd, 0x52e8, 0x40b5, 0xa8, 0xd8, 0x76, 0x68, 0x5c, 0x40, 0x63, 0x30);
21 0x4020e5c2, 0x1403, 0x4929, 0x88, 0x3f, 0xe2, 0xe8, 0x49, 0xfa, 0xc1, 0x95);
25 0x8875769a, 0xd579, 0x4088, 0xaa, 0xeb, 0x53, 0x4d, 0x1a, 0xd8, 0x4e, 0x96);
29 0x667ea4c7, 0xf1cd, 0x4386, 0xb5, 0x23, 0x7c, 0
x2, 0x90, 0xb8, 0x3c, 0xc5);
33 0x11eaa540, 0xf9a6, 0x4d49, 0xae, 0x6a, 0xe1, 0x92, 0x21, 0xf7, 0xc, 0xc4);
37 0x3ce6cc22, 0xdbf2, 0x44f4, 0x89, 0x4d, 0xf9, 0xc3, 0x4a, 0x33, 0x71, 0x39);
243 #define INTERFACE ID3DXBaseMesh
248 STDMETHOD(QueryInterface)(THIS_ REFIID iid,
LPVOID *ppv) PURE;
249 STDMETHOD_(ULONG, AddRef)(THIS) PURE;
250 STDMETHOD_(ULONG, Release)(THIS) PURE;
253 STDMETHOD(DrawSubset)(THIS_
DWORD AttribId) PURE;
254 STDMETHOD_(
DWORD, GetNumFaces)(THIS) PURE;
255 STDMETHOD_(
DWORD, GetNumVertices)(THIS) PURE;
256 STDMETHOD_(
DWORD, GetFVF)(THIS) PURE;
258 STDMETHOD_(
DWORD, GetNumBytesPerVertex)(THIS) PURE;
259 STDMETHOD_(
DWORD, GetOptions)(THIS) PURE;
261 STDMETHOD(CloneMeshFVF)(THIS_
DWORD Options,
263 STDMETHOD(CloneMesh)(THIS_
DWORD Options,
267 STDMETHOD(LockVertexBuffer)(THIS_
DWORD Flags,
LPVOID *ppData) PURE;
268 STDMETHOD(UnlockVertexBuffer)(THIS) PURE;
269 STDMETHOD(LockIndexBuffer)(THIS_
DWORD Flags,
LPVOID *ppData) PURE;
270 STDMETHOD(UnlockIndexBuffer)(THIS) PURE;
271 STDMETHOD(GetAttributeTable)(
274 STDMETHOD(ConvertPointRepsToAdjacency)(THIS_ CONST
DWORD* pPRep,
DWORD* pAdjacency) PURE;
275 STDMETHOD(ConvertAdjacencyToPointReps)(THIS_ CONST
DWORD* pAdjacency,
DWORD* pPRep) PURE;
276 STDMETHOD(GenerateAdjacency)(THIS_ FLOAT Epsilon,
DWORD* pAdjacency) PURE;
283 #define INTERFACE ID3DXMesh
288 STDMETHOD(QueryInterface)(THIS_ REFIID iid,
LPVOID *ppv) PURE;
289 STDMETHOD_(ULONG, AddRef)(THIS) PURE;
290 STDMETHOD_(ULONG, Release)(THIS) PURE;
293 STDMETHOD(DrawSubset)(THIS_
DWORD AttribId) PURE;
294 STDMETHOD_(
DWORD, GetNumFaces)(THIS) PURE;
295 STDMETHOD_(
DWORD, GetNumVertices)(THIS) PURE;
296 STDMETHOD_(
DWORD, GetFVF)(THIS) PURE;
298 STDMETHOD_(
DWORD, GetNumBytesPerVertex)(THIS) PURE;
299 STDMETHOD_(
DWORD, GetOptions)(THIS) PURE;
301 STDMETHOD(CloneMeshFVF)(THIS_
DWORD Options,
303 STDMETHOD(CloneMesh)(THIS_
DWORD Options,
307 STDMETHOD(LockVertexBuffer)(THIS_
DWORD Flags,
LPVOID *ppData) PURE;
308 STDMETHOD(UnlockVertexBuffer)(THIS) PURE;
309 STDMETHOD(LockIndexBuffer)(THIS_
DWORD Flags,
LPVOID *ppData) PURE;
310 STDMETHOD(UnlockIndexBuffer)(THIS) PURE;
311 STDMETHOD(GetAttributeTable)(
314 STDMETHOD(ConvertPointRepsToAdjacency)(THIS_ CONST
DWORD* pPRep,
DWORD* pAdjacency) PURE;
315 STDMETHOD(ConvertAdjacencyToPointReps)(THIS_ CONST
DWORD* pAdjacency,
DWORD* pPRep) PURE;
316 STDMETHOD(GenerateAdjacency)(THIS_ FLOAT Epsilon,
DWORD* pAdjacency) PURE;
321 STDMETHOD(LockAttributeBuffer)(THIS_
DWORD Flags,
DWORD** ppData) PURE;
322 STDMETHOD(UnlockAttributeBuffer)(THIS) PURE;
323 STDMETHOD(Optimize)(THIS_
DWORD Flags, CONST
DWORD* pAdjacencyIn,
DWORD* pAdjacencyOut,
326 STDMETHOD(OptimizeInplace)(THIS_
DWORD Flags, CONST
DWORD* pAdjacencyIn,
DWORD* pAdjacencyOut,
333 #define INTERFACE ID3DXPMesh
338 STDMETHOD(QueryInterface)(THIS_ REFIID iid,
LPVOID *ppv) PURE;
339 STDMETHOD_(ULONG, AddRef)(THIS) PURE;
340 STDMETHOD_(ULONG, Release)(THIS) PURE;
343 STDMETHOD(DrawSubset)(THIS_
DWORD AttribId) PURE;
344 STDMETHOD_(
DWORD, GetNumFaces)(THIS) PURE;
345 STDMETHOD_(
DWORD, GetNumVertices)(THIS) PURE;
346 STDMETHOD_(
DWORD, GetFVF)(THIS) PURE;
348 STDMETHOD_(
DWORD, GetNumBytesPerVertex)(THIS) PURE;
349 STDMETHOD_(
DWORD, GetOptions)(THIS) PURE;
351 STDMETHOD(CloneMeshFVF)(THIS_
DWORD Options,
353 STDMETHOD(CloneMesh)(THIS_
DWORD Options,
357 STDMETHOD(LockVertexBuffer)(THIS_
DWORD Flags,
LPVOID *ppData) PURE;
358 STDMETHOD(UnlockVertexBuffer)(THIS) PURE;
359 STDMETHOD(LockIndexBuffer)(THIS_
DWORD Flags,
LPVOID *ppData) PURE;
360 STDMETHOD(UnlockIndexBuffer)(THIS) PURE;
361 STDMETHOD(GetAttributeTable)(
364 STDMETHOD(ConvertPointRepsToAdjacency)(THIS_ CONST
DWORD* pPRep,
DWORD* pAdjacency) PURE;
365 STDMETHOD(ConvertAdjacencyToPointReps)(THIS_ CONST
DWORD* pAdjacency,
DWORD* pPRep) PURE;
366 STDMETHOD(GenerateAdjacency)(THIS_ FLOAT Epsilon,
DWORD* pAdjacency) PURE;
371 STDMETHOD(ClonePMeshFVF)(THIS_
DWORD Options,
373 STDMETHOD(ClonePMesh)(THIS_
DWORD Options,
375 STDMETHOD(SetNumFaces)(THIS_
DWORD Faces) PURE;
376 STDMETHOD(SetNumVertices)(THIS_
DWORD Vertices) PURE;
377 STDMETHOD_(
DWORD, GetMaxFaces)(THIS) PURE;
378 STDMETHOD_(
DWORD, GetMinFaces)(THIS) PURE;
379 STDMETHOD_(
DWORD, GetMaxVertices)(THIS) PURE;
380 STDMETHOD_(
DWORD, GetMinVertices)(THIS) PURE;
383 STDMETHOD(Optimize)(THIS_
DWORD Flags,
DWORD* pAdjacencyOut,
387 STDMETHOD(OptimizeBaseLOD)(THIS_
DWORD Flags,
DWORD* pFaceRemap) PURE;
388 STDMETHOD(TrimByFaces)(THIS_
DWORD NewFacesMin,
DWORD NewFacesMax,
DWORD *rgiFaceRemap,
DWORD *rgiVertRemap) PURE;
389 STDMETHOD(TrimByVertices)(THIS_
DWORD NewVerticesMin,
DWORD NewVerticesMax,
DWORD *rgiFaceRemap,
DWORD *rgiVertRemap) PURE;
391 STDMETHOD(GetAdjacency)(THIS_
DWORD* pAdjacency) PURE;
395 STDMETHOD(GenerateVertexHistory)(THIS_
DWORD* pVertexHistory) PURE;
400 #define INTERFACE ID3DXSPMesh
405 STDMETHOD(QueryInterface)(THIS_ REFIID iid,
LPVOID *ppv) PURE;
406 STDMETHOD_(ULONG, AddRef)(THIS) PURE;
407 STDMETHOD_(ULONG, Release)(THIS) PURE;
410 STDMETHOD_(
DWORD, GetNumFaces)(THIS) PURE;
411 STDMETHOD_(
DWORD, GetNumVertices)(THIS) PURE;
412 STDMETHOD_(
DWORD, GetFVF)(THIS) PURE;
414 STDMETHOD_(
DWORD, GetOptions)(THIS) PURE;
416 STDMETHOD(CloneMeshFVF)(THIS_
DWORD Options,
418 STDMETHOD(CloneMesh)(THIS_
DWORD Options,
420 STDMETHOD(ClonePMeshFVF)(THIS_
DWORD Options,
422 STDMETHOD(ClonePMesh)(THIS_
DWORD Options,
424 STDMETHOD(ReduceFaces)(THIS_
DWORD Faces) PURE;
425 STDMETHOD(ReduceVertices)(THIS_
DWORD Vertices) PURE;
426 STDMETHOD_(
DWORD, GetMaxFaces)(THIS) PURE;
427 STDMETHOD_(
DWORD, GetMaxVertices)(THIS) PURE;
428 STDMETHOD(GetVertexAttributeWeights)(THIS_ LPD3DXATTRIBUTEWEIGHTS pVertexAttributeWeights) PURE;
429 STDMETHOD(GetVertexWeights)(THIS_ FLOAT *pVertexWeights) PURE;
432 #define UNUSED16 (0xffff)
433 #define UNUSED32 (0xffffffff)
477 #define INTERFACE ID3DXPatchMesh
482 STDMETHOD(QueryInterface)(THIS_ REFIID iid,
LPVOID *ppv) PURE;
483 STDMETHOD_(ULONG, AddRef)(THIS) PURE;
484 STDMETHOD_(ULONG, Release)(THIS) PURE;
489 STDMETHOD_(
DWORD, GetNumPatches)(THIS) PURE;
490 STDMETHOD_(
DWORD, GetNumVertices)(THIS) PURE;
492 STDMETHOD_(
DWORD, GetControlVerticesPerPatch)(THIS) PURE;
493 STDMETHOD_(
DWORD, GetOptions)(THIS) PURE;
495 STDMETHOD(GetPatchInfo)(THIS_ LPD3DXPATCHINFO PatchInfo) PURE;
501 STDMETHOD(UnlockVertexBuffer)(THIS) PURE;
503 STDMETHOD(UnlockIndexBuffer)(THIS) PURE;
504 STDMETHOD(LockAttributeBuffer)(THIS_
DWORD flags,
DWORD** ppData) PURE;
505 STDMETHOD(UnlockAttributeBuffer)(THIS) PURE;
511 STDMETHOD(GetTessSize)(THIS_ FLOAT fTessLevel,
DWORD Adaptive,
DWORD *NumTriangles,
DWORD *NumVertices) PURE;
515 STDMETHOD(GenerateAdjacency)(THIS_ FLOAT Tolerance) PURE;
537 DWORD dwLODBias) PURE;
544 DWORD *dwLODBias) PURE;
548 STDMETHOD(Tessellate)(THIS_ FLOAT fTessLevel,
LPD3DXMESH pMesh) PURE;
556 STDMETHOD(TessellateAdaptive)(THIS_
558 DWORD dwMaxTessLevel,
559 DWORD dwMinTessLevel,
565 #define INTERFACE ID3DXSkinInfo
570 STDMETHOD(QueryInterface)(THIS_ REFIID iid,
LPVOID *ppv) PURE;
571 STDMETHOD_(ULONG, AddRef)(THIS) PURE;
572 STDMETHOD_(ULONG, Release)(THIS) PURE;
576 STDMETHOD(SetBoneVertexInfluence)(THIS_
DWORD boneNum,
DWORD influenceNum,
float weight) PURE;
577 STDMETHOD_(
DWORD, GetNumBoneInfluences)(THIS_
DWORD bone) PURE;
579 STDMETHOD(GetBoneVertexInfluence)(THIS_
DWORD boneNum,
DWORD influenceNum,
float *pWeight,
DWORD *pVertexNum) PURE;
580 STDMETHOD(GetMaxVertexInfluences)(THIS_
DWORD* maxVertexInfluences) PURE;
581 STDMETHOD_(
DWORD, GetNumBones)(THIS) PURE;
582 STDMETHOD(FindBoneVertexInfluenceIndex)(THIS_
DWORD boneNum,
DWORD vertexNum,
DWORD *pInfluenceIndex) PURE;
588 STDMETHOD(SetMinBoneInfluence)(THIS_ FLOAT MinInfl) PURE;
590 STDMETHOD_(FLOAT, GetMinBoneInfluence)(THIS) PURE;
593 STDMETHOD(SetBoneName)(THIS_
DWORD Bone, LPCSTR pName) PURE;
594 STDMETHOD_(LPCSTR, GetBoneName)(THIS_
DWORD Bone) PURE;
597 STDMETHOD(SetBoneOffsetMatrix)(THIS_
DWORD Bone, CONST
D3DXMATRIX *pBoneTransform) PURE;
605 STDMETHOD(Remap)(THIS_
DWORD NumVertices,
DWORD* pVertexRemap) PURE;
608 STDMETHOD(SetFVF)(THIS_
DWORD FVF) PURE;
610 STDMETHOD_(
DWORD, GetFVF)(THIS) PURE;
614 STDMETHOD(UpdateSkinnedMesh)(THIS_
616 CONST
D3DXMATRIX* pBoneInvTransposeTransforms,
617 LPCVOID pVerticesSrc,
618 PVOID pVerticesDst) PURE;
622 STDMETHOD(ConvertToBlendedMesh)(THIS_
625 CONST
DWORD *pAdjacencyIn,
626 LPDWORD pAdjacencyOut,
630 DWORD* pNumBoneCombinations,
636 STDMETHOD(ConvertToIndexedBlendedMesh)(THIS_
640 CONST
DWORD *pAdjacencyIn,
641 LPDWORD pAdjacencyOut,
644 DWORD* pMaxVertexInfl,
645 DWORD* pNumBoneCombinations,
676 CONST
DWORD* pAdjacency,
678 CONST FLOAT *pVertexWeights,
686 CONST
DWORD* pAdjacencyIn,
688 DWORD* pAdjacencyOut,
694 CONST
DWORD* pAdjacency,
700 CONST
DWORD* pAdjacency,
702 CONST FLOAT *pVertexWeights,
710 CONST
DWORD* pAdjacency,
712 CONST FLOAT *pVertexWeights,
736 CONST
DWORD *pAdjacency);
752 DWORD *pNumMaterials,
763 DWORD *pNumMaterials,
767 #define D3DXLoadMeshFromX D3DXLoadMeshFromXW
769 #define D3DXLoadMeshFromX D3DXLoadMeshFromXA
781 DWORD *pNumMaterials,
794 DWORD *pNumMaterials,
801 CONST
DWORD* pAdjacency,
812 CONST
DWORD* pAdjacency,
820 #define D3DXSaveMeshToX D3DXSaveMeshToXW
822 #define D3DXSaveMeshToX D3DXSaveMeshToXA
833 DWORD* pNumMaterials,
862 LPD3DXFILEDATA pxofMesh,
868 DWORD *pNumMaterials,
875 LPD3DXFILEDATA pxofMesh,
901 CONST
DWORD* pAdjacencyIn,
903 BOOL QuadraticInterpNormals,
923 LPD3DXFILEDATA pXofObjMesh,
928 PDWORD pNumMaterials,
934 CONST FLOAT *pfNumSegs,
941 CONST FLOAT *pfNumSegs,
951 CONST FLOAT *pNumSegs,
960 CONST FLOAT *pNumSegs,
990 DWORD *dwcDegenerateVertices,
991 DWORD *dwcDegeneratePatches,
1018 CONST
DWORD *pAdjacencyIn,
1019 DWORD *pAdjacencyOut,
1043 DWORD *pCountOfHits);
1057 DWORD *pCountOfHits);
1063 CONST
DWORD *pAdjacencyIn,
1064 CONST
DWORD MaxSize,
1065 CONST
DWORD Options,
1103 DWORD dwTextureInSemantic,
1104 DWORD dwTextureInIndex,
1105 DWORD dwUPartialOutSemantic,
1106 DWORD dwUPartialOutIndex,
1107 DWORD dwVPartialOutSemantic,
1108 DWORD dwVPartialOutIndex,
1109 DWORD dwNormalOutSemantic,
1110 DWORD dwNormalOutIndex,
1112 CONST
DWORD *pdwAdjacency,
1113 FLOAT fPartialEdgeThreshold,
1114 FLOAT fSingularPointThreshold,
1115 FLOAT fNormalEdgeThreshold,
1116 ID3DXMesh **ppMeshOut,
1141 CONST
DWORD *pAdjacency);
1229 UINT uMaxChartNumber,
1234 DWORD dwTextureIndex,
1235 CONST
DWORD *pdwAdjacency,
1236 CONST
DWORD *pdwFalseEdgeAdjacency,
1237 CONST FLOAT *pfIMTArray,
1239 FLOAT fCallbackFrequency,
1245 FLOAT *pfMaxStretchOut,
1246 UINT *puNumChartsOut);
1277 UINT uMaxChartNumber,
1279 DWORD dwTextureIndex,
1280 CONST
DWORD *pdwAdjacency,
1281 CONST
DWORD *pdwFalseEdgeAdjacency,
1282 CONST FLOAT *pfIMTArray,
1284 FLOAT fCallbackFrequency,
1291 FLOAT *pfMaxStretchOut,
1292 UINT *puNumChartsOut);
1304 DWORD dwTextureIndex,
1305 CONST
DWORD *pdwPartitionResultAdjacency,
1307 FLOAT fCallbackFrequency,
1334 typedef HRESULT (WINAPI* LPD3DXIMTSIGNALCALLBACK)
1359 CONST FLOAT *pfVertexSignal,
1360 UINT uSignalDimension,
1385 DWORD dwTextureIndex,
1386 UINT uSignalDimension,
1387 FLOAT fMaxUVDistance,
1389 LPD3DXIMTSIGNALCALLBACK pSignalCallback,
1410 DWORD dwTextureIndex,
1433 DWORD dwTextureIndex,
1434 FLOAT *pfTexelSignal,
1437 UINT uSignalDimension,
1450 DWORD *pNumIndices);
1523 DWORD* pVertexRemap);
1527 #endif //__cplusplus
1605 0xf1827e47, 0xa8, 0x49cd, 0x90, 0x8c, 0x9d, 0x11, 0x95, 0x5f, 0x87, 0x28);
1609 0xa758d465, 0xfe8d, 0x45ad, 0x9c, 0xf0, 0xd0, 0x1e, 0x56, 0x26, 0x6a, 0x7);
1613 0x838f01ec, 0x9729, 0x4527, 0xaa, 0xdb, 0xdf, 0x70, 0xad, 0xe7, 0xfe, 0xa9);
1617 0x683a4278, 0xcd5f, 0x4d24, 0x90, 0xad, 0xc4, 0xe1, 0xb6, 0x85, 0x5d, 0x53);
1625 #define INTERFACE ID3DXPRTBuffer
1634 STDMETHOD(QueryInterface)(THIS_ REFIID iid,
LPVOID *ppv) PURE;
1635 STDMETHOD_(ULONG, AddRef)(THIS) PURE;
1636 STDMETHOD_(ULONG, Release)(THIS) PURE;
1639 STDMETHOD_(
UINT, GetNumSamples)(THIS) PURE;
1640 STDMETHOD_(
UINT, GetNumCoeffs)(THIS) PURE;
1641 STDMETHOD_(
UINT, GetNumChannels)(THIS) PURE;
1643 STDMETHOD_(
BOOL, IsTexture)(THIS) PURE;
1644 STDMETHOD_(
UINT, GetWidth)(THIS) PURE;
1645 STDMETHOD_(
UINT, GetHeight)(THIS) PURE;
1648 STDMETHOD(Resize)(THIS_
UINT NewSize) PURE;
1652 STDMETHOD(LockBuffer)(THIS_
UINT Start,
UINT NumSamples, FLOAT **ppData) PURE;
1653 STDMETHOD(UnlockBuffer)(THIS) PURE;
1656 STDMETHOD(ScaleBuffer)(THIS_ FLOAT Scale) PURE;
1665 STDMETHOD(ReleaseGH)(THIS) PURE;
1668 STDMETHOD(EvalGH)(THIS) PURE;
1687 #define INTERFACE ID3DXPRTCompBuffer
1694 STDMETHOD(QueryInterface)(THIS_ REFIID iid,
LPVOID *ppv) PURE;
1695 STDMETHOD_(ULONG, AddRef)(THIS) PURE;
1696 STDMETHOD_(ULONG, Release)(THIS) PURE;
1701 STDMETHOD_(
UINT, GetNumSamples)(THIS) PURE;
1702 STDMETHOD_(
UINT, GetNumCoeffs)(THIS) PURE;
1703 STDMETHOD_(
UINT, GetNumChannels)(THIS) PURE;
1705 STDMETHOD_(
BOOL, IsTexture)(THIS) PURE;
1706 STDMETHOD_(
UINT, GetWidth)(THIS) PURE;
1707 STDMETHOD_(
UINT, GetHeight)(THIS) PURE;
1710 STDMETHOD_(
UINT, GetNumClusters)(THIS) PURE;
1711 STDMETHOD_(
UINT, GetNumPCA)(THIS) PURE;
1715 STDMETHOD(NormalizeData)(THIS) PURE;
1719 STDMETHOD(ExtractBasis)(THIS_
UINT Cluster, FLOAT *pClusterBasis) PURE;
1722 STDMETHOD(ExtractClusterIDs)(THIS_
UINT *pClusterIDs) PURE;
1726 STDMETHOD(ExtractPCA)(THIS_
UINT StartPCA,
UINT NumExtract, FLOAT *pPCACoefficients) PURE;
1730 STDMETHOD(ExtractTexture)(THIS_
UINT StartPCA,
UINT NumpPCA,
1742 #define INTERFACE ID3DXTextureGutterHelper
1765 STDMETHOD(QueryInterface)(THIS_ REFIID iid,
LPVOID *ppv) PURE;
1766 STDMETHOD_(ULONG, AddRef)(THIS) PURE;
1767 STDMETHOD_(ULONG, Release)(THIS) PURE;
1772 STDMETHOD_(
UINT, GetWidth)(THIS) PURE;
1773 STDMETHOD_(
UINT, GetHeight)(THIS) PURE;
1781 STDMETHOD(ApplyGuttersFloat)(THIS_ FLOAT *pDataIn,
UINT NumCoeffs,
UINT Width,
UINT Height);
1819 STDMETHOD(GetFaceMap)(THIS_
UINT *pFaceData) PURE;
1826 STDMETHOD(GetBaryMap)(THIS_
D3DXVECTOR2 *pBaryData) PURE;
1832 STDMETHOD(GetTexelMap)(THIS_
D3DXVECTOR2 *pTexelData) PURE;
1839 STDMETHOD(GetGutterMap)(THIS_ BYTE *pGutterData) PURE;
1844 STDMETHOD(SetFaceMap)(THIS_
UINT *pFaceData) PURE;
1850 STDMETHOD(SetBaryMap)(THIS_
D3DXVECTOR2 *pBaryData) PURE;
1855 STDMETHOD(SetTexelMap)(THIS_
D3DXVECTOR2 *pTexelData) PURE;
1861 STDMETHOD(SetGutterMap)(THIS_ BYTE *pGutterData) PURE;
1869 #define INTERFACE ID3DXPRTEngine
1893 STDMETHOD(QueryInterface)(THIS_ REFIID iid,
LPVOID *ppv) PURE;
1894 STDMETHOD_(ULONG, AddRef)(THIS) PURE;
1895 STDMETHOD_(ULONG, Release)(THIS) PURE;
1912 STDMETHOD(SetMeshMaterials)(THIS_ CONST
D3DXSHMATERIAL **ppMaterials,
UINT NumMeshes,
1913 UINT NumChannels,
BOOL bSetAlbedo, FLOAT fLengthScale) PURE;
1923 STDMETHOD(SetPerVertexAlbedo)(THIS_ CONST
VOID *pDataIn,
UINT NumChannels,
UINT Stride) PURE;
1936 STDMETHOD(GetVertexAlbedo)(THIS_
D3DXCOLOR *pVertColors,
UINT NumVerts) PURE;
1950 STDMETHOD(ExtractPerVertexAlbedo)(THIS_
LPD3DXMESH pMesh,
1952 UINT NumChannels) PURE;
1970 STDMETHOD_(
UINT, GetNumVerts)(THIS) PURE;
1972 STDMETHOD_(
UINT, GetNumFaces)(THIS) PURE;
1981 STDMETHOD(SetMinMaxIntersection)(THIS_ FLOAT fMin, FLOAT fMax) PURE;
1989 STDMETHOD(RobustMeshRefine)(THIS_ FLOAT MinEdgeLength,
UINT MaxSubdiv) PURE;
2001 STDMETHOD(SetSamplingInfo)(THIS_
UINT NumRays,
2005 FLOAT AdaptiveThresh) PURE;
2014 STDMETHOD(ComputeDirectLightingSH)(THIS_
UINT SHOrder,
2029 STDMETHOD(ComputeDirectLightingSHAdaptive)(THIS_
UINT SHOrder,
2030 FLOAT AdaptiveThresh,
2031 FLOAT MinEdgeLength,
2087 FLOAT AdaptiveThresh,
2088 FLOAT MinEdgeLength,
2116 FLOAT AdaptiveThresh,
2117 FLOAT MinEdgeLength,
2141 STDMETHOD(ComputeVolumeSamplesDirectSH)(THIS_
UINT SHOrderIn,
2181 STDMETHOD(ComputeSurfSamplesDirectSH)(THIS_
UINT SHOrder,
2197 STDMETHOD(ComputeSurfSamplesBounce)(THIS_
LPD3DXPRTBUFFER pSurfDataIn,
2206 STDMETHOD(FreeSSData)(THIS) PURE;
2210 STDMETHOD(FreeBounceData)(THIS) PURE;
2235 STDMETHOD(ScaleMeshChunk)(THIS_
UINT uMeshChunk, FLOAT fScale,
LPD3DXPRTBUFFER pDataOut) PURE;
2281 DWORD *pFaceIndex, FLOAT *pU, FLOAT *pV, FLOAT *pDist) PURE;
2289 #endif //__cplusplus
2373 #define D3DXLoadPRTBufferFromFile D3DXLoadPRTBufferFromFileW
2375 #define D3DXLoadPRTBufferFromFile D3DXLoadPRTBufferFromFileA
2404 #define D3DXSavePRTBufferToFile D3DXSavePRTBufferToFileW
2406 #define D3DXSavePRTBufferToFile D3DXSavePRTBufferToFileA
2435 #define D3DXLoadPRTCompBufferFromFile D3DXLoadPRTCompBufferFromFileW
2437 #define D3DXLoadPRTCompBufferFromFile D3DXLoadPRTCompBufferFromFileA
2465 #define D3DXSavePRTCompBufferToFile D3DXSavePRTCompBufferToFileW
2467 #define D3DXSavePRTCompBufferToFile D3DXSavePRTCompBufferToFileA
2646 UINT MaxNumClusters,
2648 UINT *pSuperClusterIDs,
2649 UINT *pNumSuperClusters);
2711 UINT *pSuperClusterIDs,
2712 UINT NumSuperClusters,
2714 BOOL InputIBIs32Bit,
2717 UINT *pIBDataLength,
2718 BOOL OutputIBIs32Bit,
2721 UINT *pVertDataLength,
2722 UINT *pSCClusterList,
2728 #endif //__cplusplus
2739 0x3cf169ce, 0xff7c, 0x44ab, 0x93, 0xc0, 0xf7, 0x8f, 0x62, 0xd1, 0x72, 0xe2);
2743 0xb8d65549, 0xd7c9, 0x4995, 0x89, 0xcf, 0x53, 0xa9, 0xa8, 0xb0, 0x31, 0xe3);
2747 0xa64c844a, 0xe282, 0x4756, 0x8b, 0x80, 0x25, 0xc, 0xde, 0x4, 0x39, 0x8c);
2751 0x6f0d123b, 0xbad2, 0x4167, 0xa0, 0xd0, 0x80, 0x22, 0x4f, 0x25, 0xfa, 0xbb);
2755 0xa3eb5d44, 0xfc22, 0x429d, 0x9a, 0xfb, 0x32, 0x21, 0xcb, 0x97, 0x19, 0xa6);
2759 0xd02c95cc, 0xedba, 0x4305, 0x9b, 0x5d, 0x18, 0x20, 0xd7, 0x70, 0x4b, 0xbf);
2763 0xb9ec94e1, 0xb9a6, 0x4251, 0xba, 0x18, 0x94, 0x89, 0x3f, 0
x2, 0xc0, 0xea);
2767 0xb6c3e656, 0xec8b, 0x4b92, 0x9b, 0x62, 0x68, 0x16, 0x59, 0x52, 0x29, 0x47);
2771 0x917e0427, 0xc61e, 0x4a14, 0x9c, 0x64, 0xaf, 0xe6, 0x5f, 0x9e, 0x98, 0x44);
2775 0x574ccc14, 0xf0b3, 0x4333, 0x82, 0x2d, 0x93, 0xe8, 0xa8, 0xa0, 0x8e, 0x4c);
2779 0xb6e70a0e, 0x8ef9, 0x4e83, 0x94, 0xad, 0xec, 0xc8, 0xb0, 0xc0, 0x48, 0x97);
2783 0xf752461c, 0x1e23, 0x48f6, 0xb9, 0xf8, 0x83, 0x50, 0x85, 0xf, 0x33, 0x6f);
2787 0xbf22e553, 0x292c, 0x4781, 0x9f, 0xea, 0x62, 0xbd, 0x55, 0x4b, 0xdd, 0x93);
2791 0xf1cfe2b3, 0xde3, 0x4e28, 0xaf, 0xa1, 0x15, 0x5a, 0x75, 0xa, 0x28, 0x2d);
2795 0xd55b097e, 0xbdb6, 0x4c52, 0xb0, 0x3d, 0x60, 0x51, 0xc8, 0x9d, 0xe, 0x42);
2799 0x622c0ed0, 0x956e, 0x4da9, 0x90, 0x8a, 0x2a, 0xf9, 0x4f, 0x3c, 0xe7, 0x16);
2803 0x3014b9a0, 0x62f5, 0x478c, 0x9b, 0x86, 0xe4, 0xac, 0x9f, 0x4e, 0x41, 0x8b);
2807 0x1dbc4c88, 0x94c1, 0x46ee, 0x90, 0x76, 0x2c, 0x28, 0x81, 0x8c, 0x94, 0x81);
2811 0xe13963bc, 0xae51, 0x4c5d, 0xb0, 0xf, 0xcf, 0xa3, 0xa9, 0xd9, 0x7c, 0xe5);
2815 0xe331f7e4, 0x559, 0x4cc2, 0x8e, 0x99, 0x1c, 0xec, 0x16, 0x57, 0x92, 0x8f);
2819 0x9e415a43, 0x7ba6, 0x4a73, 0x87, 0x43, 0xb7, 0x3d, 0x47, 0xe8, 0x84, 0x76);
2823 0x7f9b00b3, 0xf125, 0x4890, 0x87, 0x6e, 0x1c, 0x42, 0xbf, 0x69, 0x7c, 0x4d);
2825 #pragma pack(push, 1)
2835 #define XSKINEXP_TEMPLATES \
2837 template XSkinMeshHeader \
2839 <3CF169CE-FF7C-44ab-93C0-F78F62D172E2> \
2840 WORD nMaxSkinWeightsPerVertex; \
2841 WORD nMaxSkinWeightsPerFace; \
2844 template VertexDuplicationIndices \
2846 <B8D65549-D7C9-4995-89CF-53A9A8B031E3> \
2848 DWORD nOriginalVertices; \
2849 array DWORD indices[nIndices]; \
2851 template FaceAdjacency \
2853 <A64C844A-E282-4756-8B80-250CDE04398C> \
2855 array DWORD indices[nIndices]; \
2857 template SkinWeights \
2859 <6F0D123B-BAD2-4167-A0D0-80224F25FABB> \
2860 STRING transformNodeName; \
2862 array DWORD vertexIndices[nWeights]; \
2863 array float weights[nWeights]; \
2864 Matrix4x4 matrixOffset; \
2868 <A3EB5D44-FC22-429D-9AFB-3221CB9719A6> \
2869 DWORD nControlIndices; \
2870 array DWORD controlIndices[nControlIndices]; \
2872 template PatchMesh \
2874 <D02C95CC-EDBA-4305-9B5D-1820D7704BBF> \
2876 array Vector vertices[nVertices]; \
2878 array Patch patches[nPatches]; \
2881 template PatchMesh9 \
2883 <B9EC94E1-B9A6-4251-BA18-94893F02C0EA> \
2888 array Vector vertices[nVertices]; \
2890 array Patch patches[nPatches]; \
2893 "template EffectFloats \
2895 <F1CFE2B3-0DE3-4e28-AFA1-155A750A282D> \
2897 array float Floats[nFloats]; \
2899 template EffectString \
2901 <D55B097E-BDB6-4c52-B03D-6051C89D0E42> \
2904 template EffectDWord \
2906 <622C0ED0-956E-4da9-908A-2AF94F3CE716> \
2909 "template EffectParamFloats \
2911 <3014B9A0-62F5-478c-9B86-E4AC9F4E418B> \
2914 array float Floats[nFloats]; \
2916 "template EffectParamString \
2918 <1DBC4C88-94C1-46ee-9076-2C28818C9481> \
2922 template EffectParamDWord \
2924 <E13963BC-AE51-4c5d-B00F-CFA3A9D97CE5> \
2928 template EffectInstance \
2930 <E331F7E4-0559-4cc2-8E99-1CEC1657928F> \
2931 STRING EffectFilename; \
2934 "template AnimTicksPerSecond \
2936 <9E415A43-7BA6-4a73-8743-B73D47E88476> \
2937 DWORD AnimTicksPerSecond; \
2939 template CompressedAnimationSet \
2941 <7F9B00B3-F125-4890-876E-1C42BF697C4D> \
2942 DWORD CompressedBlockSize; \
2943 FLOAT TicksPerSec; \
2944 DWORD PlaybackType; \
2945 DWORD BufferLength; \
2946 array DWORD CompressedData[BufferLength]; \
2949 #define XEXTENSIONS_TEMPLATES \
2953 <B6E70A0E-8EF9-4e83-94AD-ECC8B0C04897> \
2956 array DWORD data[nDWords]; \
2958 template VertexElement \
2960 <F752461C-1E23-48f6-B9F8-8350850F336F> \
2968 <BF22E553-292C-4781-9FEA-62BD554BDD93> \
2970 array VertexElement Elements[nElements]; \
2972 array DWORD data[nDWords]; \
2974 template PMAttributeRange \
2976 <917E0427-C61E-4a14-9C64-AFE65F9E9844> \
2977 DWORD iFaceOffset; \
2980 DWORD iVertexOffset; \
2981 DWORD nVerticesMin; \
2982 DWORD nVerticesMax; \
2984 template PMVSplitRecord \
2986 <574CCC14-F0B3-4333-822D-93E8A8A08E4C> \
2993 <B6C3E656-EC8B-4b92-9B62-681659522947> \
2994 DWORD nAttributes; \
2995 array PMAttributeRange attributeRanges[nAttributes]; \
2996 DWORD nMaxValence; \
2997 DWORD nMinLogicalVertices; \
2998 DWORD nMaxLogicalVertices; \
3000 array PMVSplitRecord splitRecords[nVSplits]; \
3001 DWORD nAttributeMispredicts; \
3002 array DWORD attributeMispredicts[nAttributeMispredicts]; \
3005 #endif //__D3DX9MESH_H__
interface ID3DXTextureGutterHelper ID3DXTextureGutterHelper
HRESULT WINAPI D3DXComputeTangentFrameEx(ID3DXMesh *pMesh, DWORD dwTextureInSemantic, DWORD dwTextureInIndex, DWORD dwUPartialOutSemantic, DWORD dwUPartialOutIndex, DWORD dwVPartialOutSemantic, DWORD dwVPartialOutIndex, DWORD dwNormalOutSemantic, DWORD dwNormalOutIndex, DWORD dwOptions, CONST DWORD *pdwAdjacency, FLOAT fPartialEdgeThreshold, FLOAT fSingularPointThreshold, FLOAT fNormalEdgeThreshold, ID3DXMesh **ppMeshOut, ID3DXBuffer **ppVertexMapping)
HRESULT WINAPI D3DXCreateTextureGutterHelper(UINT Width, UINT Height, LPD3DXMESH pMesh, FLOAT GutterSize, LPD3DXTEXTUREGUTTERHELPER *ppBuffer)
HRESULT WINAPI D3DXComputeTangentFrame(ID3DXMesh *pMesh, DWORD dwOptions)
HRESULT WINAPI D3DXCreateSkinInfoFromBlendedMesh(LPD3DXBASEMESH pMesh, DWORD NumBones, CONST D3DXBONECOMBINATION *pBoneCombinationTable, LPD3DXSKININFO *ppSkinInfo)
struct _D3DXATTRIBUTEWEIGHTS * LPD3DXATTRIBUTEWEIGHTS
BOOL WINAPI D3DXIntersectTri(CONST D3DXVECTOR3 *p0, CONST D3DXVECTOR3 *p1, CONST D3DXVECTOR3 *p2, CONST D3DXVECTOR3 *pRayPos, CONST D3DXVECTOR3 *pRayDir, FLOAT *pU, FLOAT *pV, FLOAT *pDist)
HRESULT WINAPI D3DXGenerateOutputDecl(D3DVERTEXELEMENT9 *pOutput, CONST D3DVERTEXELEMENT9 *pInput)
struct _D3DXBONECOMBINATION D3DXBONECOMBINATION
HRESULT WINAPI D3DXLoadPatchMeshFromXof(LPD3DXFILEDATA pXofObjMesh, DWORD Options, LPDIRECT3DDEVICE9 pD3DDevice, LPD3DXBUFFER *ppMaterials, LPD3DXBUFFER *ppEffectInstances, PDWORD pNumMaterials, LPD3DXPATCHMESH *ppMesh)
struct _D3DXWELDEPSILONS D3DXWELDEPSILONS
UINT WINAPI D3DXGetDeclLength(CONST D3DVERTEXELEMENT9 *pDecl)
_D3DXSHCOMPRESSQUALITYTYPE
HRESULT WINAPI D3DXLoadMeshFromXof(LPD3DXFILEDATA pxofMesh, DWORD Options, LPDIRECT3DDEVICE9 pD3DDevice, LPD3DXBUFFER *ppAdjacency, LPD3DXBUFFER *ppMaterials, LPD3DXBUFFER *ppEffectInstances, DWORD *pNumMaterials, LPD3DXMESH *ppMesh)
struct IDirect3DDevice9 * LPDIRECT3DDEVICE9
HRESULT WINAPI D3DXCreateSkinInfo(DWORD NumVertices, CONST D3DVERTEXELEMENT9 *pDeclaration, DWORD NumBones, LPD3DXSKININFO *ppSkinInfo)
HRESULT WINAPI D3DXComputeBoundingSphere(CONST D3DXVECTOR3 *pFirstPosition, DWORD NumVertices, DWORD dwStride, D3DXVECTOR3 *pCenter, FLOAT *pRadius)
HRESULT WINAPI D3DXComputeIMTFromTexture(LPD3DXMESH pMesh, LPDIRECT3DTEXTURE9 pTexture, DWORD dwTextureIndex, DWORD dwOptions, LPD3DXUVATLASCB pStatusCallback, LPVOID pUserContext, LPD3DXBUFFER *ppIMTData)
HRESULT WINAPI D3DXCreatePRTBuffer(UINT NumSamples, UINT NumCoeffs, UINT NumChannels, LPD3DXPRTBUFFER *ppBuffer)
typedef HRESULT(WINAPI *LPD3DXIMTSIGNALCALLBACK)(CONST D3DXVECTOR2 *uv
HRESULT WINAPI D3DXComputeIMTFromPerVertexSignal(LPD3DXMESH pMesh, CONST FLOAT *pfVertexSignal, UINT uSignalDimension, UINT uSignalStride, DWORD dwOptions, LPD3DXUVATLASCB pStatusCallback, LPVOID pUserContext, LPD3DXBUFFER *ppIMTData)
D3DXWELDEPSILONS * LPD3DXWELDEPSILONS
struct ID3DXSPMesh * LPD3DXSPMESH
HRESULT WINAPI D3DXLoadMeshFromXInMemory(LPCVOID Memory, DWORD SizeOfMemory, DWORD Options, LPDIRECT3DDEVICE9 pD3DDevice, LPD3DXBUFFER *ppAdjacency, LPD3DXBUFFER *ppMaterials, LPD3DXBUFFER *ppEffectInstances, DWORD *pNumMaterials, LPD3DXMESH *ppMesh)
HRESULT WINAPI D3DXTessellateTriPatch(LPDIRECT3DVERTEXBUFFER9 pVB, CONST FLOAT *pNumSegs, CONST D3DVERTEXELEMENT9 *pInDecl, CONST D3DTRIPATCH_INFO *pTriPatchInfo, LPD3DXMESH pMesh)
UINT WINAPI D3DXGetFVFVertexSize(DWORD FVF)
enum _D3DXSHGPUSIMOPT D3DXSHGPUSIMOPT
HRESULT WINAPI D3DXCreatePatchMesh(CONST D3DXPATCHINFO *pInfo, DWORD dwNumPatches, DWORD dwNumVertices, DWORD dwOptions, CONST D3DVERTEXELEMENT9 *pDecl, LPDIRECT3DDEVICE9 pD3DDevice, LPD3DXPATCHMESH *pPatchMesh)
UINT WINAPI D3DXGetDeclVertexSize(CONST D3DVERTEXELEMENT9 *pDecl, DWORD Stream)
HRESULT WINAPI D3DXSavePRTBufferToFileW(LPCWSTR pFileName, LPD3DXPRTBUFFER pBuffer)
HRESULT WINAPI D3DXLoadPRTBufferFromFileA(LPCSTR pFilename, LPD3DXPRTBUFFER *ppBuffer)
HRESULT WINAPI D3DXConvertMeshSubsetToSingleStrip(LPD3DXBASEMESH MeshIn, DWORD AttribId, DWORD IBOptions, LPDIRECT3DINDEXBUFFER9 *ppIndexBuffer, DWORD *pNumIndices)
LPD3DXEFFECTDEFAULT pDefaults
struct ID3DXPatchMesh * LPD3DXPATCHMESH
HRESULT(WINAPI * LPD3DXSHPRTSIMCB)(float fPercentDone, LPVOID lpUserContext)
FLOAT RelativeIndexOfRefraction
struct IDirect3DTexture9 * LPDIRECT3DTEXTURE9
interface ID3DXPRTBuffer * LPD3DXPRTBUFFER
enum _D3DXCLEANTYPE D3DXCLEANTYPE
GLuint GLuint GLfloat weight
typedef UINT(WINAPI *PFNWGLGETCONTEXTGPUIDAMDPROC)(HGLRC hglrc)
D3DXMATERIAL * LPD3DXMATERIAL
DECLARE_INTERFACE_(IXAudio2, IUnknown)
enum _D3DXPATCHMESHTYPE D3DXPATCHMESHTYPE
struct _D3DXEFFECTINSTANCE D3DXEFFECTINSTANCE
HRESULT WINAPI D3DXCreateMeshFVF(DWORD NumFaces, DWORD NumVertices, DWORD Options, DWORD FVF, LPDIRECT3DDEVICE9 pD3DDevice, LPD3DXMESH *ppMesh)
HRESULT WINAPI D3DXCleanMesh(D3DXCLEANTYPE CleanType, LPD3DXMESH pMeshIn, CONST DWORD *pAdjacencyIn, LPD3DXMESH *ppMeshOut, DWORD *pAdjacencyOut, LPD3DXBUFFER *ppErrorsAndWarnings)
struct _D3DXSHPRTSPLITMESHVERTDATA D3DXSHPRTSPLITMESHVERTDATA
HRESULT WINAPI D3DXComputeBoundingBox(CONST D3DXVECTOR3 *pFirstPosition, DWORD NumVertices, DWORD dwStride, D3DXVECTOR3 *pMin, D3DXVECTOR3 *pMax)
HRESULT WINAPI D3DXCreateBuffer(DWORD NumBytes, LPD3DXBUFFER *ppBuffer)
HRESULT WINAPI D3DXLoadPRTCompBufferFromFileW(LPCWSTR pFilename, LPD3DXPRTCOMPBUFFER *ppBuffer)
HRESULT WINAPI D3DXSaveMeshToXA(LPCSTR pFilename, LPD3DXMESH pMesh, CONST DWORD *pAdjacency, CONST D3DXMATERIAL *pMaterials, CONST D3DXEFFECTINSTANCE *pEffectInstances, DWORD NumMaterials, DWORD Format)
struct _D3DXBONECOMBINATION * LPD3DXBONECOMBINATION
enum _D3DDECLUSAGE D3DDECLUSAGE
struct _D3DXATTRIBUTEWEIGHTS D3DXATTRIBUTEWEIGHTS
HRESULT(WINAPI * LPD3DXUVATLASCB)(FLOAT fPercentDone, LPVOID lpUserContext)
struct _D3DXSHPRTSPLITMESHCLUSTERDATA D3DXSHPRTSPLITMESHCLUSTERDATA
struct _D3DXPATCHINFO D3DXPATCHINFO
HRESULT WINAPI D3DXFVFFromDeclarator(CONST D3DVERTEXELEMENT9 *pDeclarator, DWORD *pFVF)
struct _D3DXINTERSECTINFO D3DXINTERSECTINFO
struct _D3DXEFFECTINSTANCE * LPD3DXEFFECTINSTANCE
HRESULT WINAPI D3DXCreateSPMesh(LPD3DXMESH pMesh, CONST DWORD *pAdjacency, CONST D3DXATTRIBUTEWEIGHTS *pVertexAttributeWeights, CONST FLOAT *pVertexWeights, LPD3DXSPMESH *ppSMesh)
HRESULT WINAPI D3DXValidPatchMesh(LPD3DXPATCHMESH pMesh, DWORD *dwcDegenerateVertices, DWORD *dwcDegeneratePatches, LPD3DXBUFFER *ppErrorsAndWarnings)
HRESULT WINAPI D3DXLoadMeshFromXW(LPCWSTR pFilename, DWORD Options, LPDIRECT3DDEVICE9 pD3DDevice, LPD3DXBUFFER *ppAdjacency, LPD3DXBUFFER *ppMaterials, LPD3DXBUFFER *ppEffectInstances, DWORD *pNumMaterials, LPD3DXMESH *ppMesh)
struct ID3DXSkinInfo * LPD3DXSKININFO
HRESULT WINAPI D3DXOptimizeVertices(LPCVOID pbIndices, UINT cFaces, UINT cVertices, BOOL b32BitIndices, DWORD *pVertexRemap)
UINT UINT VOID FLOAT * pfSignalOut
HRESULT WINAPI D3DXSavePRTCompBufferToFileA(LPCSTR pFileName, LPD3DXPRTCOMPBUFFER pBuffer)
HRESULT WINAPI D3DXCreateNPatchMesh(LPD3DXMESH pMeshSysMem, LPD3DXPATCHMESH *pPatchMesh)
HRESULT WINAPI D3DXOptimizeFaces(LPCVOID pbIndices, UINT cFaces, UINT cVertices, BOOL b32BitIndices, DWORD *pFaceRemap)
struct _D3DXMATERIAL D3DXMATERIAL
interface ID3DXPRTBuffer ID3DXPRTBuffer
HRESULT WINAPI D3DXSHPRTCompSplitMeshSC(UINT *pClusterIDs, UINT NumVertices, UINT NumClusters, UINT *pSuperClusterIDs, UINT NumSuperClusters, LPVOID pInputIB, BOOL InputIBIs32Bit, UINT NumFaces, LPD3DXBUFFER *ppIBData, UINT *pIBDataLength, BOOL OutputIBIs32Bit, LPD3DXBUFFER *ppFaceRemap, LPD3DXBUFFER *ppVertData, UINT *pVertDataLength, UINT *pSCClusterList, D3DXSHPRTSPLITMESHCLUSTERDATA *pSCData)
enum _D3DTEXTUREFILTERTYPE D3DTEXTUREFILTERTYPE
HRESULT WINAPI D3DXLoadPRTBufferFromFileW(LPCWSTR pFilename, LPD3DXPRTBUFFER *ppBuffer)
DEFINE_GUID(KSDATAFORMAT_SUBTYPE_PCM, 0x00000001, 0x0000, 0x0010, 0x80, 0x00, 0x00, 0xaa, 0x00, 0x38, 0x9b, 0x71)
UINT UINT uSignalDimension
HRESULT WINAPI D3DXConvertMeshSubsetToStrips(LPD3DXBASEMESH MeshIn, DWORD AttribId, DWORD IBOptions, LPDIRECT3DINDEXBUFFER9 *ppIndexBuffer, DWORD *pNumIndices, LPD3DXBUFFER *ppStripLengths, DWORD *pNumStrips)
struct IDirect3DVertexBuffer9 * LPDIRECT3DVERTEXBUFFER9
interface ID3DXPRTEngine * LPD3DXPRTENGINE
enum _D3DDEGREETYPE D3DDEGREETYPE
D3DCOLORVALUE ReducedScattering
HRESULT WINAPI D3DXCreateSkinInfoFVF(DWORD NumVertices, DWORD FVF, DWORD NumBones, LPD3DXSKININFO *ppSkinInfo)
HRESULT WINAPI D3DXTriPatchSize(CONST FLOAT *pfNumSegs, DWORD *pdwTriangles, DWORD *pdwVertices)
struct _D3DXINTERSECTINFO * LPD3DXINTERSECTINFO
BOOL WINAPI D3DXBoxBoundProbe(CONST D3DXVECTOR3 *pMin, CONST D3DXVECTOR3 *pMax, CONST D3DXVECTOR3 *pRayPosition, CONST D3DXVECTOR3 *pRayDirection)
HRESULT WINAPI D3DXComputeNormals(LPD3DXBASEMESH pMesh, CONST DWORD *pAdjacency)
struct _D3DXSHMATERIAL D3DXSHMATERIAL
HRESULT WINAPI D3DXSavePRTCompBufferToFileW(LPCWSTR pFileName, LPD3DXPRTCOMPBUFFER pBuffer)
HRESULT WINAPI D3DXWeldVertices(LPD3DXMESH pMesh, DWORD Flags, CONST D3DXWELDEPSILONS *pEpsilons, CONST DWORD *pAdjacencyIn, DWORD *pAdjacencyOut, DWORD *pFaceRemap, LPD3DXBUFFER *ppVertexRemap)
struct _D3DXEFFECTDEFAULT D3DXEFFECTDEFAULT
D3DXEFFECTDEFAULTTYPE Type
struct _XFILECOMPRESSEDANIMATIONSET XFILECOMPRESSEDANIMATIONSET
interface ID3DXPRTCompBuffer * LPD3DXPRTCOMPBUFFER
HRESULT WINAPI D3DXConcatenateMeshes(LPD3DXMESH *ppMeshes, UINT NumMeshes, DWORD Options, CONST D3DXMATRIX *pGeomXForms, CONST D3DXMATRIX *pTextureXForms, CONST D3DVERTEXELEMENT9 *pDecl, LPDIRECT3DDEVICE9 pD3DDevice, LPD3DXMESH *ppMeshOut)
HRESULT WINAPI D3DXSimplifyMesh(LPD3DXMESH pMesh, CONST DWORD *pAdjacency, CONST D3DXATTRIBUTEWEIGHTS *pVertexAttributeWeights, CONST FLOAT *pVertexWeights, DWORD MinValue, DWORD Options, LPD3DXMESH *ppMesh)
HRESULT WINAPI D3DXIntersectSubset(LPD3DXBASEMESH pMesh, DWORD AttribId, CONST D3DXVECTOR3 *pRayPos, CONST D3DXVECTOR3 *pRayDir, BOOL *pHit, DWORD *pFaceIndex, FLOAT *pU, FLOAT *pV, FLOAT *pDist, LPD3DXBUFFER *ppAllHits, DWORD *pCountOfHits)
typedef LPVOID(WINAPI *PFNWGLCREATEIMAGEBUFFERI3DPROC)(HDC hDC
HRESULT WINAPI D3DXComputeIMTFromPerTexelSignal(LPD3DXMESH pMesh, DWORD dwTextureIndex, FLOAT *pfTexelSignal, UINT uWidth, UINT uHeight, UINT uSignalDimension, UINT uComponents, DWORD dwOptions, LPD3DXUVATLASCB pStatusCallback, LPVOID pUserContext, LPD3DXBUFFER *ppIMTData)
HRESULT WINAPI D3DXSplitMesh(LPD3DXMESH pMeshIn, CONST DWORD *pAdjacencyIn, CONST DWORD MaxSize, CONST DWORD Options, DWORD *pMeshesOut, LPD3DXBUFFER *ppMeshArrayOut, LPD3DXBUFFER *ppAdjacencyArrayOut, LPD3DXBUFFER *ppFaceRemapArrayOut, LPD3DXBUFFER *ppVertRemapArrayOut)
HRESULT WINAPI D3DXDeclaratorFromFVF(DWORD FVF, D3DVERTEXELEMENT9 pDeclarator[MAX_FVF_DECL_SIZE])
HRESULT WINAPI D3DXValidMesh(LPD3DXMESH pMeshIn, CONST DWORD *pAdjacency, LPD3DXBUFFER *ppErrorsAndWarnings)
HRESULT WINAPI D3DXLoadSkinMeshFromXof(LPD3DXFILEDATA pxofMesh, DWORD Options, LPDIRECT3DDEVICE9 pD3DDevice, LPD3DXBUFFER *ppAdjacency, LPD3DXBUFFER *ppMaterials, LPD3DXBUFFER *ppEffectInstances, DWORD *pMatOut, LPD3DXSKININFO *ppSkinInfo, LPD3DXMESH *ppMesh)
struct ID3DXBaseMesh * LPD3DXBASEMESH
HRESULT WINAPI D3DXLoadPRTCompBufferFromFileA(LPCSTR pFilename, LPD3DXPRTCOMPBUFFER *ppBuffer)
struct IDirect3DBaseTexture9 * LPDIRECT3DBASETEXTURE9
D3DXATTRIBUTERANGE * LPD3DXATTRIBUTERANGE
HRESULT WINAPI D3DXUVAtlasPack(ID3DXMesh *pMesh, UINT uWidth, UINT uHeight, FLOAT fGutter, DWORD dwTextureIndex, CONST DWORD *pdwPartitionResultAdjacency, LPD3DXUVATLASCB pStatusCallback, FLOAT fCallbackFrequency, LPVOID pUserContext, DWORD dwOptions, LPD3DXBUFFER pFacePartitioning)
HRESULT WINAPI D3DXCreatePMeshFromStream(IStream *pStream, DWORD Options, LPDIRECT3DDEVICE9 pD3DDevice, LPD3DXBUFFER *ppMaterials, LPD3DXBUFFER *ppEffectInstances, DWORD *pNumMaterials, LPD3DXPMESH *ppPMesh)
enum _D3DXSHCOMPRESSQUALITYTYPE D3DXSHCOMPRESSQUALITYTYPE
GLenum GLsizei GLsizei GLsizei GLsizei GLbitfield flags
HRESULT WINAPI D3DXTessellateNPatches(LPD3DXMESH pMeshIn, CONST DWORD *pAdjacencyIn, FLOAT NumSegs, BOOL QuadraticInterpNormals, LPD3DXMESH *ppMeshOut, LPD3DXBUFFER *ppAdjacencyOut)
enum _D3DXUVATLAS D3DXUVATLAS
HRESULT WINAPI D3DXIntersect(LPD3DXBASEMESH pMesh, CONST D3DXVECTOR3 *pRayPos, CONST D3DXVECTOR3 *pRayDir, BOOL *pHit, DWORD *pFaceIndex, FLOAT *pU, FLOAT *pV, FLOAT *pDist, LPD3DXBUFFER *ppAllHits, DWORD *pCountOfHits)
UINT UINT VOID * pUserData
enum _D3DBASISTYPE D3DBASISTYPE
HRESULT WINAPI D3DXRectPatchSize(CONST FLOAT *pfNumSegs, DWORD *pdwTriangles, DWORD *pdwVertices)
HRESULT WINAPI D3DXLoadMeshFromXResource(HMODULE Module, LPCSTR Name, LPCSTR Type, DWORD Options, LPDIRECT3DDEVICE9 pD3DDevice, LPD3DXBUFFER *ppAdjacency, LPD3DXBUFFER *ppMaterials, LPD3DXBUFFER *ppEffectInstances, DWORD *pNumMaterials, LPD3DXMESH *ppMesh)
typedef DWORD(WINAPI *XInputGetState_t)(DWORD dwUserIndex
HRESULT WINAPI D3DXSavePRTBufferToFileA(LPCSTR pFileName, LPD3DXPRTBUFFER pBuffer)
BOOL WINAPI D3DXSphereBoundProbe(CONST D3DXVECTOR3 *pCenter, FLOAT Radius, CONST D3DXVECTOR3 *pRayPosition, CONST D3DXVECTOR3 *pRayDirection)
HRESULT WINAPI D3DXComputeIMTFromSignal(LPD3DXMESH pMesh, DWORD dwTextureIndex, UINT uSignalDimension, FLOAT fMaxUVDistance, DWORD dwOptions, LPD3DXIMTSIGNALCALLBACK pSignalCallback, VOID *pUserData, LPD3DXUVATLASCB pStatusCallback, LPVOID pUserContext, LPD3DXBUFFER *ppIMTData)
HRESULT WINAPI D3DXUVAtlasCreate(LPD3DXMESH pMesh, UINT uMaxChartNumber, FLOAT fMaxStretch, UINT uWidth, UINT uHeight, FLOAT fGutter, DWORD dwTextureIndex, CONST DWORD *pdwAdjacency, CONST DWORD *pdwFalseEdgeAdjacency, CONST FLOAT *pfIMTArray, LPD3DXUVATLASCB pStatusCallback, FLOAT fCallbackFrequency, LPVOID pUserContext, DWORD dwOptions, LPD3DXMESH *ppMeshOut, LPD3DXBUFFER *ppFacePartitioning, LPD3DXBUFFER *ppVertexRemapArray, FLOAT *pfMaxStretchOut, UINT *puNumChartsOut)
HRESULT WINAPI D3DXCreatePRTEngine(LPD3DXMESH pMesh, DWORD *pAdjacency, BOOL ExtractUVs, LPD3DXMESH pBlockerMesh, LPD3DXPRTENGINE *ppEngine)
interface ID3DXBuffer * LPD3DXBUFFER
interface ID3DXTextureGutterHelper * LPD3DXTEXTUREGUTTERHELPER
DWORD CompressedBlockSize
enum _D3DTEXTUREADDRESS D3DTEXTUREADDRESS
interface ID3DXPRTEngine ID3DXPRTEngine
D3DXPATCHMESHTYPE PatchType
HRESULT WINAPI D3DXGeneratePMesh(LPD3DXMESH pMesh, CONST DWORD *pAdjacency, CONST D3DXATTRIBUTEWEIGHTS *pVertexAttributeWeights, CONST FLOAT *pVertexWeights, DWORD MinValue, DWORD Options, LPD3DXPMESH *ppPMesh)
HRESULT WINAPI D3DXComputeTangent(LPD3DXMESH Mesh, DWORD TexStage, DWORD TangentIndex, DWORD BinormIndex, DWORD Wrap, CONST DWORD *pAdjacency)
struct _D3DXATTRIBUTERANGE D3DXATTRIBUTERANGE
struct _D3DXPATCHINFO * LPD3DXPATCHINFO
HRESULT WINAPI D3DXCreatePRTCompBuffer(D3DXSHCOMPRESSQUALITYTYPE Quality, UINT NumClusters, UINT NumPCA, LPD3DXSHPRTSIMCB pCB, LPVOID lpUserContext, LPD3DXPRTBUFFER pBufferIn, LPD3DXPRTCOMPBUFFER *ppBufferOut)
HRESULT WINAPI D3DXSaveMeshToXW(LPCWSTR pFilename, LPD3DXMESH pMesh, CONST DWORD *pAdjacency, CONST D3DXMATERIAL *pMaterials, CONST D3DXEFFECTINSTANCE *pEffectInstances, DWORD NumMaterials, DWORD Format)
HRESULT WINAPI D3DXCreatePRTBufferTex(UINT Width, UINT Height, UINT NumCoeffs, UINT NumChannels, LPD3DXPRTBUFFER *ppBuffer)
HRESULT WINAPI D3DXUVAtlasPartition(LPD3DXMESH pMesh, UINT uMaxChartNumber, FLOAT fMaxStretch, DWORD dwTextureIndex, CONST DWORD *pdwAdjacency, CONST DWORD *pdwFalseEdgeAdjacency, CONST FLOAT *pfIMTArray, LPD3DXUVATLASCB pStatusCallback, FLOAT fCallbackFrequency, LPVOID pUserContext, DWORD dwOptions, LPD3DXMESH *ppMeshOut, LPD3DXBUFFER *ppFacePartitioning, LPD3DXBUFFER *ppVertexRemapArray, LPD3DXBUFFER *ppPartitionResultAdjacency, FLOAT *pfMaxStretchOut, UINT *puNumChartsOut)
enum _D3DXTANGENT D3DXTANGENT
struct ID3DXPMesh * LPD3DXPMESH
HRESULT WINAPI D3DXSHPRTCompSuperCluster(UINT *pClusterIDs, LPD3DXMESH pScene, UINT MaxNumClusters, UINT NumClusters, UINT *pSuperClusterIDs, UINT *pNumSuperClusters)
typedef VOID(WINAPI *PFNWGLBLITCONTEXTFRAMEBUFFERAMDPROC)(HGLRC dstCtx
enum _D3DXEFFECTDEFAULTTYPE D3DXEFFECTDEFAULTTYPE
HRESULT WINAPI D3DXTessellateRectPatch(LPDIRECT3DVERTEXBUFFER9 pVB, CONST FLOAT *pNumSegs, CONST D3DVERTEXELEMENT9 *pdwInDecl, CONST D3DRECTPATCH_INFO *pRectPatchInfo, LPD3DXMESH pMesh)
interface ID3DXPRTCompBuffer ID3DXPRTCompBuffer
struct _D3DXEFFECTDEFAULT * LPD3DXEFFECTDEFAULT
interface ID3DXBuffer ID3DXBuffer
struct IDirect3DIndexBuffer9 * LPDIRECT3DINDEXBUFFER9
HRESULT WINAPI D3DXCreateMesh(DWORD NumFaces, DWORD NumVertices, DWORD Options, CONST D3DVERTEXELEMENT9 *pDeclaration, LPDIRECT3DDEVICE9 pD3DDevice, LPD3DXMESH *ppMesh)
struct ID3DXMesh * LPD3DXMESH
typedef BOOL(WINAPI *PFNWGLSETSTEREOEMITTERSTATE3DLPROC)(HDC hDC
HRESULT WINAPI D3DXLoadMeshFromXA(LPCSTR pFilename, DWORD Options, LPDIRECT3DDEVICE9 pD3DDevice, LPD3DXBUFFER *ppAdjacency, LPD3DXBUFFER *ppMaterials, LPD3DXBUFFER *ppEffectInstances, DWORD *pNumMaterials, LPD3DXMESH *ppMesh)