#undef LPVOID #undef DWORD #undef UINT #ifdef _WIN64 #define HFONT HANDLE #else #define HFONT LONG #endif #define DWORD LONG #define UINT LONG #define LPVOID void * #define LPD3DXFONT D3DXFont * #define LPD3DXBUFFER D3DXBuffer * #define LPDIRECTXFILEDATA IUnknown * #define LPD3DXBASEMESH D3DXBaseMesh * #define LPD3DXMESH D3DXMesh * #define LPD3DXPMESH D3DXPMesh * #define LPD3DXSPMESH D3DXSPMesh * #define LPD3DXSKINMESH D3DXSkinMesh * //defined as IUnknown in wrapper code but //already defined in d3di.idl for VB typelib #ifdef C_ONLY #define LPDIRECT3DVERTEXBUFFER8 IUnknown* #define LPDIRECT3DINDEXBUFFER8 IUnknown* #define LPDIRECT3DDEVICE8 IUnknown* #define LPDIRECT3DTEXTURE8 IUnknown* #define LPDIRECT3DVOLUME8 IUnknown* #define LPDIRECT3DBASETEXTURE8 IUnknown* #define LPDIRECT3DCUBETEXTURE8 IUnknown* #define LPDIRECT3DSURFACE8 IUnknown* #define D3DPOOL LONG #define D3DCOLOR LONG #define D3DFORMAT LONG #define CONST_D3DFORMAT LONG #define CONST_D3DPOOL LONG #define CONST_D3DXIMAGE_FILEFORMAT LONG #else #define I_dxj_D3DX8 ID3DX8 #define D3DXRTS_DESC_CDESC D3DXRTS_DESC #define D3DXATTRIBUTERANGE_CDESC D3DXATTRIBUTERANGE #define D3DXMATERIAL_CDESC D3DXMATERIAL #define D3DXDECLARATOR_CDESC D3DXDECLARATOR #define D3DXATTRIBUTEWEIGHTS_CDESC D3DXATTRIBUTEWEIGHTS #define GLYPHMETRICSFLOAT_CDESC GLYPHMETRICSFLOAT #define POINTFLOAT_CDESC POINTFLOAT #define LOGFONT_CDESC LOGFONT #define D3DXIMAGE_INFO_CDESC D3DXIMAGE_INFO #define D3DXBONECOMBINATION_CDESC D3DXBONECOMBINATION typedef enum CONST_D3DXIMAGE_FILEFORMAT { D3DXIFF_BMP = 0, D3DXIFF_JPG = 1, D3DXIFF_TGA = 2, D3DXIFF_PNG = 3, D3DXIFF_DDS = 4, D3DXIFF_PPM = 5, D3DXIFF_DIB = 6, D3DXIFF_FORCE_DWORD = 0x7fffffff } CONST_D3DXIMAGE_FILEFORMAT; [helpcontext(86596)] typedef enum CONST_D3DXERR { D3DXERR_CANNOTMODIFYINDEXBUFFER = 0x88760B54, D3DXERR_INVALIDMESH = 0x88760B55, D3DXERR_CANNOTATTRSORT = 0x88760B56, D3DXERR_SKINNINGNOTSUPPORTED= 0x88760B57, D3DXERR_TOOMANYINFLUENCES = 0x88760B58, D3DXERR_INVALIDDATA = 0x88760B59, D3DXERR_LOADEDMESHASNODATA = 0x88760B5A, } CONST_D3DXERR; [helpcontext(86597)] typedef enum CONST_D3DXMESH { // 32BIT meshes currently not supported D3DXMESH_32BIT = 0x001, // If set, then use 32 bit indices, if not set use 16 bit indices D3DXMESH_DONOTCLIP = 0x002, D3DXMESH_POINTS = 0x004, D3DXMESH_RTPATCHES = 0x008, D3DXMESH_NPATCHES = 0x4000,// Use D3DUSAGE_NPATCHES for VB & IB. D3DXMESH_VB_SYSTEMMEM = 0x010, D3DXMESH_VB_MANAGED = 0x020, D3DXMESH_VB_WRITEONLY = 0x040, D3DXMESH_VB_DYNAMIC = 0x080, D3DXMESH_IB_SYSTEMMEM = 0x100, D3DXMESH_IB_MANAGED = 0x200, D3DXMESH_IB_WRITEONLY = 0x400, D3DXMESH_IB_DYNAMIC = 0x800, D3DXMESH_VB_SHARE = 0x1000, D3DXMESH_USEHWONLY = 0x2000, D3DXMESH_SYSTEMMEM = 0x110, D3DXMESH_MANAGED = 0x220, D3DXMESH_WRITEONLY = 0x440, D3DXMESH_DYNAMIC = 0x880, } CONST_D3DXMESHENUM; [helpcontext(91001)] typedef enum CONST_D3DXASM { D3DXASM_DEBUG =1, D3DXASM_SKIPVALIDATION =2, } CONST_D3DXASM; [helpcontext(86600)] typedef enum CONST_D3DXMESHSIMP { D3DXMESHSIMP_VERTEX = 0x1, D3DXMESHSIMP_FACE = 0x2, } CONST_D3DXMESHSIMPENUM; [helpcontext(87110)] typedef enum CONST_DTFLAGS { DT_TOP =0x00000000, //yes winuser.h has DT_TOP and DT_LEFt set to 0 DT_LEFT =0x00000000, DT_CENTER =0x00000001, DT_RIGHT =0x00000002, DT_VCENTER =0x00000004, DT_BOTTOM =0x00000008, DT_WORDBREAK =0x00000010, DT_SINGLELINE =0x00000020, DT_EXPANDTABS =0x00000040, DT_TABSTOP =0x00000080, DT_NOCLIP =0x00000100, DT_EXTERNALLEADING =0x00000200, DT_CALCRECT =0x00000400, DT_NOPREFIX =0x00000800, DT_INTERNAL =0x00001000, DT_EDITCONTROL =0x00002000, DT_PATH_ELLIPSIS =0x00004000, DT_END_ELLIPSIS =0x00008000, DT_MODIFYSTRING =0x00010000, DT_RTLREADING =0x00020000, DT_WORD_ELLIPSIS =0x00040000, DT_NOFULLWIDTHCHARBREAK =0x00080000, DT_HIDEPREFIX =0x00100000, DT_PREFIXONLY =0x00200000, } CONST_DTFLAGS ; [helpcontext(86599)] typedef enum CONST_D3DXMESHOPT { D3DXMESHOPT_COMPACT = 0x01000000, D3DXMESHOPT_ATTRSORT = 0x02000000, D3DXMESHOPT_VERTEXCACHE = 0x04000000, D3DXMESHOPT_STRIPREORDER = 0x08000000, D3DXMESHOPT_IGNOREVERTS = 0x10000000, // optimize faces only, don't touch vertices D3DXMESHOPT_SHAREVB = 0x20000000, } CONST_D3DXMESHOPTENUM; [helpcontext(86598)] typedef enum CONST_D3DXMESHMISC { UNUSED16 =0x0000ffff, UNUSED32 =0xffffffff, MAX_FVF_DECL_SIZE = 20, } CONST_D3DXMESHMISCENUM; #endif [helpcontext(86594)] typedef struct D3DXRTS_DESC_CDESC { LONG Width; LONG Height; LONG Format; LONG DepthStencil; LONG DepthStencilFormat; } D3DXRTS_DESC_CDESC; [helpcontext(86590)] typedef struct D3DXATTRIBUTERANGE_CDESC { DWORD AttribId; DWORD FaceStart; DWORD FaceCount; DWORD VertexStart; DWORD VertexCount; } D3DXATTRIBUTERANGE_CDESC; [helpcontext(86591)] typedef struct D3DXATTRIBUTEWEIGHTS_CDESC { FLOAT Position; FLOAT Boundary; FLOAT Normal; FLOAT Diffuse; FLOAT Specular; FLOAT Tex[8]; } D3DXATTRIBUTEWEIGHTS_CDESC; [helpcontext(87090)] typedef struct D3DXBONECOMBINATION_CDESC { DWORD AttribId; DWORD FaceStart; DWORD FaceCount; DWORD VertexStart; DWORD VertexCount; [hidden] DWORD pBones; } D3DXBONECOMBINATION_CDESC; [helpcontext(87091)] typedef struct D3DXIMAGE_INFO_CDESC { UINT Width; UINT Height; UINT Depth; UINT MipLevels; } D3DXIMAGE_INFO_CDESC; [helpcontext(86593)] typedef struct D3DXMATERIAL_CDESC { D3DMATERIAL8_CDESC MatD3D; BSTR TextureFilename; } D3DXMATERIAL_CDESC; [helpcontext(86592)] typedef struct D3DXDECLARATOR_CDESC { LONG value[32]; } D3DXDECLARATOR_CDESC; [helpcontext(87092)] typedef struct POINTFLOAT_CDESC { FLOAT x; FLOAT y; } POINTFLOAT_CDESC; [helpcontext(87093)] typedef struct GLYPHMETRICSFLOAT_CDESC { FLOAT BlackBoxX; FLOAT BlackBoxY; POINTFLOAT_CDESC GlyphOrigin; FLOAT CellIncX; FLOAT CellIncY; } GLYPHMETRICSFLOAT_CDESC; [helpcontext(87094)] typedef struct LOGFONT_CDESC { LONG Height; LONG Width; LONG Escapement; LONG Orientation; LONG Weight; BYTE Italic; BYTE Underline; BYTE StrikeOut; BYTE CharSet; BYTE OutPrecision; BYTE ClipPrecision; BYTE Quality; BYTE PitchAndFamily; BYTE FaceName[32]; } LOGFONT_CDESC; //forward references to interfaces interface D3DXFont; interface D3DXBuffer; interface I_dxj_D3DX8; interface D3DXBasMesh; interface D3DXMesh; interface D3DXPMesh; interface D3DXSPMesh; interface D3DXSkinMesh; interface D3DXSprite; #ifdef VB_ONLY //CONSTANTS [helpcontext(86595)] typedef enum CONST_D3DXENUM { //#define D3DX_DEFAULT ULONG_MAX //#define D3DX_DEFAULT_FLOAT FLT_MAX D3DX_DEFAULT=0xFFFFFFFF, D3DX_FILTER_NONE =1, D3DX_FILTER_POINT =2, D3DX_FILTER_LINEAR =3, D3DX_FILTER_TRIANGLE =4, D3DX_FILTER_BOX =5, D3DX_FILTER_MIRROR_U = 0x00010000, D3DX_FILTER_MIRROR_V = 0x00020000, D3DX_FILTER_MIRROR_W = 0x00040000, D3DX_FILTER_MIRROR = 0x00070000, D3DX_FILTER_DITHER = 0x00080000, } CONST_D3DXENUM; #endif [ object, uuid(932E6A7E-C68E-45dd-A7BF-53D19C86DB1F), pointer_default(unique), helpcontext(86361), local ] interface D3DXBuffer : IUnknown { // ID3DXBuffer [helpcontext(86402)] DWORD GetBufferPointer(); [helpcontext(86403)] DWORD GetBufferSize(); }; [ object, uuid(2D501DF7-D253-4414-865F-A6D54A753138), pointer_default(unique), helpcontext(86364), local ] interface D3DXFont : IUnknown { [helpcontext(86408)] HRESULT GetDevice([out,retval] LPDIRECT3DDEVICE8* ppDevice) ; [helpcontext(86409)] HRESULT GetLogFont([in,out] LOGFONT_CDESC * LogFont); [helpcontext(86405)] HRESULT Begin() ; [helpcontext(87095),hidden] INT DrawTextA([in] BYTE *Text, [in] INT Count, [in] RECT_CDESC *DestRect, [in] LONG Format, [in] LONG Color); [helpcontext(86406)] INT DrawTextW([in] BSTR Text, [in] INT Count, [in] RECT_CDESC *DestRect, [in] LONG Format, [in] LONG Color); [helpcontext(86407)] HRESULT End(); [helpcontext(86407)] HRESULT OnLostDevice(); [helpcontext(86407)] HRESULT OnResetDevice(); }; [ object, uuid(E8691849-87B8-4929-9050-1B0542D5538C), pointer_default(unique), helpcontext(87096), local ] interface D3DXSprite : IUnknown { [helpcontext(86473)] HRESULT GetDevice([out,retval] LPDIRECT3DDEVICE8* ppDevice); [helpcontext(86469)] HRESULT Begin(); [helpcontext(86470)] HRESULT Draw([in] LPDIRECT3DTEXTURE8 SrcTexture,[in] void *SrcRect, [in] D3DVECTOR2_CDESC *Scaling, [in] D3DVECTOR2_CDESC *RotationCenter, [in] FLOAT Rotation, [in] D3DVECTOR2_CDESC *Translation, [in] LONG Color); [helpcontext(86471)] HRESULT DrawTransform([in] LPDIRECT3DTEXTURE8 SrcTexture,[in] void *SrcRect, [in] D3DMATRIX_CDESC *TransformMatrix, [in] LONG Color); [helpcontext(86472)] HRESULT End(); [helpcontext(86407)] HRESULT OnLostDevice(); [helpcontext(86407)] HRESULT OnResetDevice(); }; [ object, uuid(69CC587C-E40C-458d-B5D3-B029E18EB60A), pointer_default(unique), helpcontext(87097), local ] interface D3DXRenderToSurface : IUnknown { [helpcontext(86432)] HRESULT GetDevice([out,retval] LPDIRECT3DDEVICE8* ppDevice); [helpcontext(86431)] HRESULT GetDesc ([out] D3DXRTS_DESC_CDESC *Parameters); [helpcontext(86429)] HRESULT BeginScene([in] LPDIRECT3DSURFACE8 Surface, [in] D3DVIEWPORT8_CDESC * Viewport) ; [helpcontext(86430)] HRESULT EndScene(); [helpcontext(86407)] HRESULT OnLostDevice(); [helpcontext(86407)] HRESULT OnResetDevice(); }; [ object, uuid(A69BA991-1F7D-11d3-B929-00C04F68DC23), pointer_default(unique), helpcontext(86344), local ] interface D3DXBaseMesh : IUnknown { // ID3DXBaseMesh [helpcontext(86387)] HRESULT DrawSubset ([in] DWORD attribId) ; [helpcontext(86393)] DWORD GetNumFaces (); [helpcontext(86394)] DWORD GetNumVertices(); [helpcontext(86391)] DWORD GetFVF(); [helpcontext(86389)] HRESULT GetDeclaration([in,out] DWORD *Declaration); [helpcontext(86395)] DWORD GetOptions(); [helpcontext(86390)] HRESULT GetDevice([out,retval] LPDIRECT3DDEVICE8 *ret); [helpcontext(86386)] HRESULT CloneMeshFVF([in] DWORD options, [in] DWORD fvf, [in] LPDIRECT3DDEVICE8 D3DDevice, [out,retval] LPD3DXMESH *ppCloneMesh); [helpcontext(86385)] HRESULT CloneMesh([in] DWORD options, [in] void *Declaration, [in] LPDIRECT3DDEVICE8 D3DDevice, [out,retval] LPD3DXMESH *ppCloneMesh); [helpcontext(86396)] HRESULT GetVertexBuffer([out,retval] LPDIRECT3DVERTEXBUFFER8* ppVB) ; [helpcontext(86392)] HRESULT GetIndexBuffer ([out,retval] LPDIRECT3DINDEXBUFFER8* ppIB) ; [helpcontext(86398)] HRESULT LockVertexBuffer([in] DWORD flags, [out,retval] LONG *VBuffAddr); [helpcontext(86400)] HRESULT UnlockVertexBuffer(); [helpcontext(86397)] HRESULT LockIndexBuffer([in] DWORD flags, [out,retval] LONG *IBuffAddr); [helpcontext(86399)] HRESULT UnlockIndexBuffer(); //[helpcontext(86388)] HRESULT GetAttributeTable([in,out] D3DXATTRIBUTERANGE_CDESC *attribEntry, [in,out] DWORD* attribTabSize); [helpcontext(86348)] HRESULT GetAttributeTable([in,out] void *attribEntry, [in,out] DWORD* attribTabSize); [helpcontext(86411)] HRESULT ConvertPointRepsToAdjacency(void *PointRep, void* Adjacency); [helpcontext(87098)] HRESULT ConvertAdjacencyToPointReps(void* Adjacency, void *PointRep); [helpcontext(86412)] HRESULT GenerateAdjacency ([in] FLOAT epsilon, [in,out] void* Adjacency); }; [ object, uuid(9D84AC46-6B90-49a9-A721-085C7A3E3DAE), pointer_default(unique), helpcontext(86365), local ] interface D3DXMesh : IUnknown { // ID3DXBaseMesh [helpcontext(88348)] HRESULT DrawSubset ([in] DWORD attribId) ; [helpcontext(86349)] DWORD GetNumFaces (); [helpcontext(86350)] DWORD GetNumVertices(); [helpcontext(86351)] DWORD GetFVF(); [helpcontext(86352)] HRESULT GetDeclaration([in,out] DWORD *Declaration); [helpcontext(86353)] DWORD GetOptions(); [helpcontext(86354)] HRESULT GetDevice([out,retval] LPDIRECT3DDEVICE8 *ret); [helpcontext(86355)] HRESULT CloneMeshFVF([in] DWORD options, [in] DWORD fvf, [in] LPDIRECT3DDEVICE8 D3DDevice, [out,retval] LPD3DXMESH *ppCloneMesh); [helpcontext(86356)] HRESULT CloneMesh([in] DWORD options, [in] void *Declaration, [in] LPDIRECT3DDEVICE8 D3DDevice, [out,retval] LPD3DXMESH *ppCloneMesh); [helpcontext(86357)] HRESULT GetVertexBuffer([out,retval] LPDIRECT3DVERTEXBUFFER8* ppVB) ; [helpcontext(86358)] HRESULT GetIndexBuffer ([out,retval] LPDIRECT3DINDEXBUFFER8* ppIB) ; [helpcontext(86359)] HRESULT LockVertexBuffer([in] DWORD flags, [out,retval] LONG *VBuffAddr); [helpcontext(86360)] HRESULT UnlockVertexBuffer(); [helpcontext(96361)] HRESULT LockIndexBuffer([in] DWORD flags, [out,retval] LONG *IBuffAddr); [helpcontext(96362)] HRESULT UnlockIndexBuffer(); [helpcontext(86363)] HRESULT GetAttributeTable([in,out] void *attribEntry, [in,out] DWORD* attribTabSize); // ID3DXMesh [helpcontext(86411)] HRESULT ConvertPointRepsToAdjacency(void *PointRep, void* Adjacency); [helpcontext(87098)] HRESULT ConvertAdjacencyToPointReps(void* Adjacency, void *PointRep); [helpcontext(86412)] HRESULT GenerateAdjacency ([in] FLOAT epsilon, [in,out] void* Adjacency); //REMOVED 07/16/00 [helpcontext(99389)] HRESULT GeneratePointReps ([in] void* Adjacency, [in,out] void* PRep) ; [helpcontext(86413)] HRESULT LockAttributeBuffer([in] LONG flags, [out,retval] LONG *pData); [helpcontext(86416)] HRESULT UnlockAttributeBuffer(); [helpcontext(86414)] HRESULT Optimize ([in] DWORD flags,[in,out] void* adjacency, [in,out] void* optAdj, [in,out] void* FaceRemap, [out] LPD3DXBUFFER *VertexRemapOut, [out,retval] LPD3DXMESH* ppOptMesh); [helpcontext(86415)] HRESULT OptimizeInplace([in] DWORD flags,[in] void* adjacencyIn, [in,out] void* adjacencyOut, [in] void * faceRemap, [out] LPD3DXBUFFER *VertexRemapOut); }; [ object, uuid(82A53844-F322-409e-A2E9-992E1104069D), pointer_default(unique), helpcontext(870999), local ] interface D3DXSkinMesh : IUnknown { // ID3DXMesh [helpcontext(86893)] DWORD GetNumFaces (); [helpcontext(86894)] DWORD GetNumVertices(); [helpcontext(86891)] DWORD GetFVF(); [helpcontext(86889)] HRESULT GetDeclaration([in,out] DWORD *Declaration); [helpcontext(86895)] DWORD GetOptions(); [helpcontext(86438)] HRESULT GetDevice([out,retval] LPDIRECT3DDEVICE8 *ret); [helpcontext(86445)] HRESULT GetVertexBuffer([out,retval] LPDIRECT3DVERTEXBUFFER8* ppVB) ; [helpcontext(86439)] HRESULT GetIndexBuffer ([out,retval] LPDIRECT3DINDEXBUFFER8* ppIB) ; [helpcontext(86448)] HRESULT LockVertexBuffer([in] DWORD flags, [out,retval] LONG *VBuffAddr); [helpcontext(86452)] HRESULT UnlockVertexBuffer(); [helpcontext(86447)] HRESULT LockIndexBuffer([in] DWORD flags, [out,retval] LONG *IBuffAddr); [helpcontext(86451)] HRESULT UnlockIndexBuffer(); [helpcontext(86446)] HRESULT LockAttributeBuffer([in] LONG flags, [out,retval] LONG *pData); [helpcontext(86450)] HRESULT UnlockAttributeBuffer(); [helpcontext(86443)] DWORD GetNumBones(); [helpcontext(86444)] HRESULT GetOriginalMesh([out,retval] LPD3DXMESH *pMesh); [helpcontext(86449)] HRESULT SetBoneInfluence([in] DWORD bone, [in] DWORD numInfluences, [in] DWORD *vertices, [in] FLOAT *weights); [helpcontext(86442)] DWORD GetNumBoneInfluences([in] DWORD bone); [helpcontext(86437)] HRESULT GetBoneInfluence([in] DWORD bone, [in,out] DWORD *vertices, [in,out] FLOAT *weights); [helpcontext(86441)] HRESULT GetMaxVertexInfluences([out,retval] DWORD *maxVertexInfluences); [helpcontext(86440)] HRESULT GetMaxFaceInfluences([out,retval] DWORD *maxFaceInfluences); [helpcontext(86434)] HRESULT ConvertToBlendedMesh( [in] DWORD options, [in] void *AdjacencyIn, [in,out] void *AdjacencyOut, [in,out] DWORD* RetNumBoneCombinations, [in,out] LPD3DXBUFFER* RetBoneCombinationTable, [in,out] void* pFaceRemap, [in,out] LPD3DXBUFFER* VertexRemap, [out,retval] LPD3DXMESH* RetMesh); [helpcontext(86435)] HRESULT ConvertToIndexedBlendedMesh( [in] DWORD options, [in] void *AdjacencyIn, [in] DWORD paletteSize, [in,out] void *AdjacencyOut, [in,out] DWORD* RetNumBoneCombinations, [in,out] LPD3DXBUFFER* RetBoneCombinationTable, [in,out] void* pFaceRemap, [in,out] LPD3DXBUFFER* VertexRemap, [out,retval] LPD3DXMESH *RetMesh); [helpcontext(86436)] HRESULT GenerateSkinnedMesh ( [in] DWORD options, [in] FLOAT minWeight, [in] void *AdjacencyIn, [in,out] void *AdjacencyOut, [in,out] void* pFaceRemap, [in,out] LPD3DXBUFFER* VertexRemap, [out,retval] LPD3DXMESH *RetMesh); [helpcontext(87100)] HRESULT UpdateSkinnedMesh ( [in] void* BoneTransformsIn, [in] D3DMATRIX_CDESC* BoneInvTransforms, [in,out] LPD3DXMESH RetMesh); }; [ object, uuid(15981AA8-1A05-48e3-BBE7-FF5D49654E3F), pointer_default(unique), helpcontext(86371), local ] interface D3DXPMesh : IUnknown { // ID3DXBaseMesh [helpcontext(88350)] HRESULT DrawSubset ([in] DWORD attribId) ; [helpcontext(88351)] DWORD GetNumFaces (); [helpcontext(88352)] DWORD GetNumVertices(); [helpcontext(88353)] DWORD GetFVF(); [helpcontext(88354)] HRESULT GetDeclaration([in,out] DWORD *Declaration); [helpcontext(88355)] DWORD GetOptions(); [helpcontext(88356)] HRESULT GetDevice([out,retval] LPDIRECT3DDEVICE8 *ret); [helpcontext(88357)] HRESULT CloneMeshFVF([in] DWORD options, [in] DWORD fvf, [in] LPDIRECT3DDEVICE8 D3DDevice, [out,retval] LPD3DXMESH *ppCloneMesh); [helpcontext(88358)] HRESULT CloneMesh([in] DWORD options, [in] void *Declaration, [in] LPDIRECT3DDEVICE8 D3DDevice, [out,retval] LPD3DXMESH *ppCloneMesh); [helpcontext(88359)] HRESULT GetVertexBuffer([out,retval] LPDIRECT3DVERTEXBUFFER8* ppVB) ; [helpcontext(88360)] HRESULT GetIndexBuffer ([out,retval] LPDIRECT3DINDEXBUFFER8* ppIB) ; [helpcontext(88361)] HRESULT LockVertexBuffer([in] DWORD flags, [out,retval] LONG *VBuffAddr); [helpcontext(88362)] HRESULT UnlockVertexBuffer(); [helpcontext(88363)] HRESULT LockIndexBuffer([in] DWORD flags, [out,retval] LONG *IBuffAddr); [helpcontext(88364)] HRESULT UnlockIndexBuffer(); [helpcontext(88365)] HRESULT GetAttributeTable([in,out] void *attribEntry, [in,out] DWORD* attribTabSize); // ID3DXMesh [helpcontext(86411)] HRESULT ConvertPointRepsToAdjacency(void *PointRep, void* Adjacency); [helpcontext(87098)] HRESULT ConvertAdjacencyToPointReps(void* Adjacency, void *PointRep); [helpcontext(86412)] HRESULT GenerateAdjacency ([in] FLOAT epsilon, [in,out] void* Adjacency); // ID3DXPMesh [helpcontext(86419)] HRESULT ClonePMeshFVF([in] DWORD options, [in] DWORD fvf, [in] LPDIRECT3DDEVICE8 D3DDevice, [out,retval] LPD3DXPMESH *ppCloneMesh); [helpcontext(86418)] HRESULT ClonePMesh([in] DWORD options, [in] void *Declaration, [in] LPDIRECT3DDEVICE8 D3DDevice, [out,retval] LPD3DXPMESH *ppCloneMesh); [helpcontext(86426)] HRESULT SetNumFaces([in] DWORD faces); [helpcontext(86427)] HRESULT SetNumVertices([in] DWORD vertices) ; [helpcontext(86421)] DWORD GetMaxFaces(); [helpcontext(86423)] DWORD GetMinFaces(); [helpcontext(86422)] DWORD GetMaxVertices(); [helpcontext(86424)] DWORD GetMinVertices(); //[helpcontext(86400),hidden] HRESULT Save(IStream* pStream,[in] LONG MaterialBufferHandle,[in] LONG NumMaterials); [helpcontext(86400),hidden] HRESULT Save([in] LONG pIStream,[in] LONG MaterialBufferHandle,[in] LONG NumMaterials); [helpcontext(86425)] HRESULT Optimize ([in] DWORD Flags,[in,out] void * AdjacencyOut, [in,out] void * FaceRemap, [in,out] LPD3DXBUFFER *VertexRemapOut, [out,retval] LPD3DXMESH* ppOptMesh); [helpcontext(86425)] HRESULT OptimizeBaseLOD([in] DWORD Flags, [in,out] void* FaceRemap); [helpcontext(86425)] HRESULT TrimByFaces([in] DWORD NewFacesMin, [in] DWORD NewFacesMax, [in,out] DWORD *rgiFaceRemap, [in,out] DWORD *rgiVertRemap); [helpcontext(86425)] HRESULT TrimByVertices([in] DWORD NewVerticesMin, [in] DWORD NewVerticesMax, [in,out] DWORD *rgiFaceRemap, [in,out] DWORD *rgiVertRemap); [helpcontext(86420)] HRESULT GetAdjacency ([out] void * AdjacencyOut); }; [ object, uuid(BC3BBDE2-1F7D-11d3-B929-00C04F68DC23), pointer_default(unique), helpcontext(86380), local ] interface D3DXSPMesh : IUnknown { // ID3DXSPMesh [helpcontext(86463)] DWORD GetNumFaces(); [helpcontext(86464)] DWORD GetNumVertices(); [helpcontext(86460)] DWORD GetFVF(); [helpcontext(86458)] HRESULT GetDeclaration([in,out] DWORD *Declaration); [helpcontext(86465)] DWORD GetOptions(); [helpcontext(86459)] HRESULT GetDevice([out,retval] LPDIRECT3DDEVICE8 *ret); [helpcontext(86455)] HRESULT CloneMeshFVF([in] DWORD options, [in] DWORD fvf, [in] LPDIRECT3DDEVICE8 D3DDevice, [in,out] void *AdjacencyOut, [in,out] void *VertexRemapOut, [out,retval] LPD3DXPMESH *ppCloneMesh); [helpcontext(86454)] HRESULT CloneMesh([in] DWORD options, [in] void *Declaration, [in] LPDIRECT3DDEVICE8 D3DDevice, [in,out] void *AdjacencyOut, [in,out] void *VertexRemapOut, [out,retval] LPD3DXPMESH *ppCloneMesh); [helpcontext(86457)] HRESULT ClonePMeshFVF ([in] DWORD options, [in] DWORD fvf, [in] LPDIRECT3DDEVICE8 pD3D, [in,out] void *VertexRemapOut,[out,retval] LPD3DXPMESH* ppCloneMesh) ; [helpcontext(86456)] HRESULT ClonePMesh ([in] DWORD options, [in] void *Declaration, [in] LPDIRECT3DDEVICE8 pD3D, [in,out] void *VertexRemapOut, [out,retval] LPD3DXPMESH* ppCloneMesh) ; [helpcontext(86466)] HRESULT ReduceFaces([in] DWORD faces) ; [helpcontext(86467)] HRESULT ReduceVertices([in] DWORD vertices) ; [helpcontext(86461)] DWORD GetMaxFaces() ; [helpcontext(86462)] DWORD GetMaxVertices() ; }; [ object, uuid(3AC50043-CF82-4c44-862E-B206B4F03301), pointer_default(unique), local, helpcontext(89202), hidden ] interface I_dxj_D3DX8 : IUnknown { [helpcontext(86336)] HRESULT CreateFont( [in] LPDIRECT3DDEVICE8 Device, [in] HFONT hFont, [out,retval] LPD3DXFONT* retFont); [helpcontext(96344)] HRESULT DrawText( [in] LPD3DXFONT d3dFont, [in] D3DCOLOR Color, [in] BSTR TextString, [in] RECT* Rect, [in] DWORD Format); [helpcontext(96365)] HRESULT GetFVFVertexSize( [in] DWORD FVF, [out,retval] DWORD *size); [helpcontext(86312)] HRESULT AssembleShaderFromFile( [in] BSTR SrcFile, [in] LONG Flags, [in,out] BSTR *ErrLog, [in,out] LPD3DXBUFFER* Constants, [out,retval] LPD3DXBUFFER* ppVertexShader); [helpcontext(86311)] HRESULT AssembleShader( [in] BSTR SrcData, [in] LONG Flags, [in,out] LPD3DXBUFFER* Constants, [in,out,optional] BSTR *ErrLog, [out,retval] LPD3DXBUFFER* ppVertexShader); [helpcontext(96364)] HRESULT GetErrorString([in] LONG hr, [out,retval] BSTR *retStr); [helpcontext(96371)] HRESULT LoadSurfaceFromFile( [in] LPDIRECT3DSURFACE8 DestSurface, [in] void * DestPalette, [in] void * DestRect, [in] BSTR SrcFile, [in] void* SrcRect, [in] DWORD Filter, [in] LONG ColorKey, [in,out] void* SrcInfo); [helpcontext(86372)] HRESULT LoadSurfaceFromFileInMemory( [in] LPDIRECT3DSURFACE8 DestSurface, [in] void * DestPalette, [in] void * DestRect, [in] void * SrcData, [in] LONG LengthInBytes, [in] void * SrcRect, [in] DWORD Filter, [in] LONG ColorKey, [in,out] void* SrcInfo); [helpcontext(86375)] HRESULT LoadSurfaceFromSurface( [in] LPDIRECT3DSURFACE8 DestSurface, [in] void * DestPalette, [in] void * DestRect, [in] LPDIRECT3DSURFACE8 SrcSurface, [in] void * SrcPalette, [in] void * SrcRect, [in] DWORD Filter, [in] LONG ColorKey); [helpcontext(86373)] HRESULT LoadSurfaceFromMemory( [in] LPDIRECT3DSURFACE8 DestSurface, [in] void * DestPalette, [in] void * DestRect, [in] LPVOID SrcData, [in] CONST_D3DFORMAT formatSrc, [in] UINT SrcPitch, [in] void * SrcPalette, [in] RECT_CDESC * SrcRect, [in] LONG Filter, [in] LONG ColorKey); [helpcontext(86320)] HRESULT CheckTextureRequirements( [in,out] LPDIRECT3DDEVICE8 Device, [in,out] LONG* Width, [in,out] LONG* Height, [in,out] LONG* NumMipLevels, [in] LONG Usage, [in,out] CONST_D3DFORMAT* PixelFormat, [in] CONST_D3DPOOL Pool); [helpcontext(96349)] HRESULT CreateTexture( [in] LPDIRECT3DDEVICE8 Device, [in] UINT Width, [in] UINT Height, [in] UINT MipLevels, [in] LONG Usage, [in] CONST_D3DFORMAT PixelFormat, [in] CONST_D3DPOOL Pool, [out,retval] LPDIRECT3DTEXTURE8* ppTexture); [helpcontext(96354)] HRESULT CreateTextureFromResource( [in] LPDIRECT3DDEVICE8 Device, #ifdef _WIN64 [in] HANDLE hModule, #else [in] LONG hModule, #endif [in] BSTR SrcResource, [out,retval] LPDIRECT3DTEXTURE8* ppTexture); [helpcontext(96350)] HRESULT CreateTextureFromFile( [in] LPDIRECT3DDEVICE8 Device, [in] BSTR SrcFile, [out,retval] LPDIRECT3DTEXTURE8* ppTexture); [helpcontext(96351)] HRESULT CreateTextureFromFileEx( [in] LPDIRECT3DDEVICE8 Device, [in] BSTR SrcFile, [in] UINT Width, [in] UINT Height, [in] UINT MipLevels, [in] LONG Usage, [in] CONST_D3DFORMAT PixelFormat, [in] CONST_D3DPOOL Pool, [in] DWORD Filter, [in] DWORD MipFilter, [in] DWORD ColorKey, [in,out] void* SrcInfo, [in] void* Palette, [out,retval] LPDIRECT3DTEXTURE8* ppTexture); [helpcontext(96352)] HRESULT CreateTextureFromFileInMemory( [in] LPDIRECT3DDEVICE8 Device, [in] void *SrcData, [in] LONG LengthInBytes, [out,retval] LPDIRECT3DTEXTURE8* ppTexture); [helpcontext(96353)] HRESULT CreateTextureFromFileInMemoryEx( [in] LPDIRECT3DDEVICE8 Device, [in] void *SrcData, [in] LONG LengthInBytes, [in] UINT Width, [in] UINT Height, [in] UINT MipLevels, [in] LONG Usage, [in] CONST_D3DFORMAT PixelFormat, [in] CONST_D3DPOOL Pool, [in] DWORD Filter, [in] DWORD MipFilter, [in] DWORD ColorKey, [in,out] void* SrcInfo, [in] void* Palette, [out,retval] LPDIRECT3DTEXTURE8* ppTexture); [helpcontext(96360)] HRESULT FilterTexture( [in] LPDIRECT3DTEXTURE8 Texture, [in] void* Palette, [in] UINT SrcLevel, [in] DWORD Filter); [helpcontext(86319)] HRESULT CheckCubeTextureRequirements( [in] LPDIRECT3DDEVICE8 Device, [in,out] UINT* Size, [in,out] UINT* NumMipLevels, [in] LONG Usage, [in,out] CONST_D3DFORMAT *PixelFormat, [in] CONST_D3DPOOL Pool); [helpcontext(86330)] HRESULT CreateCubeTexture( [in] LPDIRECT3DDEVICE8 pDevice, [in] UINT Size, [in] UINT MipLevels, [in] LONG Usage, [in] CONST_D3DFORMAT PixelFormat, [in] CONST_D3DPOOL Pool, [out,retval] LPDIRECT3DCUBETEXTURE8* ppCubeTexture); [helpcontext(86331)] HRESULT CreateCubeTextureFromFile( [in] LPDIRECT3DDEVICE8 Device, [in] BSTR SrcFile, [out,retval] LPDIRECT3DCUBETEXTURE8* ppCubeTexture); [helpcontext(86332)] HRESULT CreateCubeTextureFromFileEx( [in] LPDIRECT3DDEVICE8 Device, [in] BSTR SrcFile, [in] UINT TextureSize, [in] UINT MipLevels, [in] LONG Usage, [in] CONST_D3DFORMAT PixelFormat, [in] CONST_D3DPOOL Pool, [in] DWORD Filter, [in] DWORD MipFilter, [in] DWORD ColorKey, [in,out] void* SrcInfo, [in] void* Palette, [out,retval] LPDIRECT3DCUBETEXTURE8* ppTexture); [helpcontext(86333)] HRESULT CreateCubeTextureFromFileInMemory( [in] LPDIRECT3DDEVICE8 Device, [in] void *SrcData, [in] LONG LengthInBytes, [out,retval] LPDIRECT3DCUBETEXTURE8* ppTexture); [helpcontext(86334)] HRESULT CreateCubeTextureFromFileInMemoryEx( [in] LPDIRECT3DDEVICE8 Device, [in] void *SrcData, [in] LONG LengthInBytes, [in] UINT TextureSize, [in] UINT MipLevels, [in] LONG Usage, [in] CONST_D3DFORMAT PixelFormat, [in] CONST_D3DPOOL Pool, [in] DWORD Filter, [in] DWORD MipFilter, [in] DWORD ColorKey, [in,out] void* SrcInfo, [in] void* Palette, [out,retval] LPDIRECT3DCUBETEXTURE8* ppTexture); [helpcontext(96359)] HRESULT FilterCubeTexture( [in] LPDIRECT3DCUBETEXTURE8 CubeTexture, [in] void *Palette, [in] UINT SrcLevel, [in] DWORD Filter); [helpcontext(86321)] HRESULT CheckVolumeTextureRequirements( [in] LPDIRECT3DDEVICE8 Device, [out] LONG* Width, [out] LONG* Height, [out] LONG* Depth, [out] LONG* NumMipLevels, [in] LONG Usage, [in,out]CONST_D3DFORMAT *PixelFormat, [in] CONST_D3DPOOL Pool); [helpcontext(96355)] HRESULT CreateTextureFromResourceEx( [in] LPDIRECT3DDEVICE8 Device, #ifdef _WIN64 [in] HANDLE hSrcModule, #else [in] LONG hSrcModule, #endif [in] BSTR SrcResource, [in] LONG Width, [in] LONG Height, [in] LONG MipLevels, [in] LONG Usage, [in] CONST_D3DFORMAT PixelFormat, [in] CONST_D3DPOOL Pool, [in] LONG Filter, [in] LONG MipFilter, [in] DWORD ColorKey, [in,out] void *SrcInfo, [in] void *Palette, [out,retval] LPDIRECT3DTEXTURE8 *retTexture); [helpcontext(96357)] HRESULT CreateVolumeTexture( [in] LPDIRECT3DDEVICE8 Device, [in] LONG Width, [in] LONG Height, [in] LONG Depth, [in] LONG MipLevels, [in] LONG Usage, [in] CONST_D3DFORMAT PixelFormat, [in] CONST_D3DPOOL Pool, [out,retval] LPDIRECT3DVOLUME8 *ppVolumeTexture); [helpcontext(97361)] HRESULT FilterVolumeTexture( [in] LPDIRECT3DVOLUME8 VolumeTexture, [in] void *Palette, [in] UINT SrcLevel, [in] LONG Filter); [helpcontext(86374)] HRESULT LoadSurfaceFromResource( [in] LPDIRECT3DSURFACE8 DestSurface, [in] void* DestPalette, [in] void* DestRect, #ifdef _WIN64 [in] HANDLE hSrcModule, #else [in] LONG hSrcModule, #endif [in] BSTR SrcResource, [in] void* SrcRect, [in] LONG Filter, [in] LONG ColorKey, [in,out] void* SrcInfo); [helpcontext(86377)] HRESULT LoadVolumeFromVolume( [in] LPDIRECT3DVOLUME8 DestVolume, [in] void *DestPalette, [in] void *DestBox, [in] LPDIRECT3DVOLUME8 SrcVolume, [in] void *SrcPalette, [in] void *SrcBox, [in] LONG Filter, [in] LONG ColorKey); [helpcontext(86376)] HRESULT LoadVolumeFromMemory( [in] LPDIRECT3DVOLUME8 DestVolume, [in] void *DestPalette, [in] void *DestBox, [in] void *SrcMemory, [in] LONG SrcFormat, [in] LONG SrcRowPitch, [in] LONG SrcSlicePitch, [in] void *SrcPalette, [in] void *SrcBox, [in] LONG Filter, [in] LONG ColorKey); [helpcontext(86337)] HRESULT CreateMesh( [in] DWORD numFaces, [in] DWORD numVertices, [in] DWORD options, [in] void *declaration, [in] LPDIRECT3DDEVICE8 pD3D, [out,retval] LPD3DXMESH* ppMesh); [helpcontext(86338)] HRESULT CreateMeshFVF( [in] DWORD numFaces, [in] DWORD numVertices, [in] DWORD options, [in] DWORD fvf, [in] LPDIRECT3DDEVICE8 pD3D, [out,retval] LPD3DXMESH* ppMesh); [helpcontext(86345)] HRESULT CreateSPMesh( [in] LPD3DXMESH pMesh, [in] void * adjacency, [in] void * VertexAttributeWeights, [in] void * VertexWeights, [out,retval] LPD3DXSPMESH* ppSMesh); [helpcontext(96363)] HRESULT GeneratePMesh( [in] LPD3DXMESH Mesh, [in] void * Adjacency, [in] void * VertexAttributeWeights, [in] void * VertexWeights, [in] DWORD minValue, [in] DWORD options, [out,retval] LPD3DXPMESH* ppPMesh); [helpcontext(96380)] HRESULT SimplifyMesh( [in] LPD3DXMESH Mesh, [in] void * Adjacency, [in] void * VertexAttributeWeights, [in] void * VertexWeights, [in] DWORD minValue, [in] DWORD options, [out,retval] LPD3DXMESH* ppMesh); [helpcontext(86325)] HRESULT ComputeBoundingSphere( [in] LPVOID PointsFVF, [in] UINT numVertices, [in] DWORD FVF, [in] D3DVECTOR_CDESC *Centers, [in,out] FLOAT *RadiusArray); [helpcontext(86323)] HRESULT ComputeBoundingBox( [in] LPVOID PointsFVF, [in] UINT numVertices, [in] DWORD FVF, [in,out] D3DVECTOR_CDESC *MinVert, [in,out] D3DVECTOR_CDESC *MaxVert); [helpcontext(86327)] HRESULT ComputeNormals( [in] LPD3DXBASEMESH pMesh); [helpcontext(96358)] HRESULT DeclaratorFromFVF( [in] LONG FVF, [out] D3DXDECLARATOR_CDESC *Declarator); [helpcontext(86362)] HRESULT FVFFromDeclarator( [in] D3DXDECLARATOR_CDESC *Declarator, [out,retval] LONG *fvf); [helpcontext(86329)] HRESULT CreateBuffer( [in] DWORD numBytes, [out,retval] LPD3DXBUFFER *ppBuffer); //CONSIDER MESH CONTAINER // GetMesh // GetAdjacencyCount // CopyOutAdjacency // GetAdjacency(i) // GetMaterialCount // GetMaterial(i) // GetMaterialBuffer // GetAdjacencyBuffer [helpcontext(86369)] HRESULT LoadMeshFromX( [in] BSTR Filename, [in] DWORD options, [in] LPDIRECT3DDEVICE8 D3DDevice, [in,out] LPD3DXBUFFER *retAdjacency, [in,out] LPD3DXBUFFER *retMaterials, [in,out] DWORD *retMaterialCount, [out,retval] LPD3DXMESH *retMesh); [helpcontext(86378)] HRESULT SaveMeshToX( [in] BSTR Filename, [in] LPD3DXMESH Mesh, [in] void *AdjacencyArray, [in] D3DXMATERIAL_CDESC* MaterialArray, [in] DWORD MaterialCount, [in] DWORD xFormat); [helpcontext(86370)] HRESULT LoadMeshFromXof( [in] LPDIRECTXFILEDATA xofobjMesh, [in] DWORD options, [in] LPDIRECT3DDEVICE8 D3DDevice, [in,out] LPD3DXBUFFER *retBufAdjacency, [in,out] LPD3DXBUFFER *retMaterials, [in,out] DWORD *retMaterialCount, [out,retval] LPD3DXMESH *retMesh); [helpcontext(86382)] HRESULT TessellateNPatches( [in] LPD3DXMESH MeshIn, // mesh to tesselate [in] void *AdjacencyIn, [in] FLOAT NumSegs, // number of segments per edge to tesselate to [in] VARIANT_BOOL QuadraticInterpNormals, [in,out, optional] LPD3DXBUFFER *AdjacencyOut, [out,retval] LPD3DXMESH *MeshOut); // tesselated mesh [helpcontext(86401)] HRESULT BufferGetMaterial([in] LPD3DXBUFFER MaterialBuffer, [in] DWORD index,[out] D3DMATERIAL8_CDESC *mat); [helpcontext(86317)] HRESULT BufferGetTextureName([in] LPD3DXBUFFER MaterialBuffer, [in] DWORD index, [out,retval] BSTR *retName); [helpcontext(86315)] HRESULT BufferGetData([in] LPD3DXBUFFER Buffer, [in] DWORD index, [in] DWORD typesize, [in] DWORD typecount,[in,out] LPVOID data); [helpcontext(86318)] HRESULT BufferSetData([in] LPD3DXBUFFER Buffer, [in] DWORD index, [in] DWORD typesize, [in] DWORD typecount,[in,out] LPVOID data); [helpcontext(86366)] HRESULT Intersect( [in] D3DXMesh *MeshIn, [in] D3DVECTOR_CDESC *RayPos, [in] D3DVECTOR_CDESC *RayDir, [out] LONG *retHit, [out] LONG *retFaceIndex, [out] FLOAT *U, [out] FLOAT *V, [out] FLOAT *retDist, [out] DWORD *countHits, [out,retval] LPD3DXBUFFER *AllHits); [helpcontext(86381)] HRESULT SphereBoundProbe( [in] D3DVECTOR_CDESC *Center, [in] FLOAT Radius, [in] D3DVECTOR_CDESC *RayPosition, [in] D3DVECTOR_CDESC *Raydirection, [out,retval] VARIANT_BOOL *retHit); [helpcontext(86326)] HRESULT ComputeBoundingSphereFromMesh( [in] D3DXMesh *MeshIn, [in,out] D3DVECTOR_CDESC *Centers, [in,out] FLOAT *RadiusArray); [helpcontext(86324)] HRESULT ComputeBoundingBoxFromMesh( [in] D3DXMesh *MeshIn, [in,out] D3DVECTOR_CDESC *MinArray, [in,out] D3DVECTOR_CDESC *MaxArray); [helpcontext(86341)] HRESULT CreateSkinMesh( [in] DWORD numFaces, [in] DWORD numVertices, [in] DWORD numBones, [in] DWORD options, [in] void *Declaration, [in] LPDIRECT3DDEVICE8 D3DDevice, [out,retval]LPD3DXSKINMESH* SkinMesh); [helpcontext(86343)] HRESULT CreateSkinMeshFVF( [in] DWORD numFaces, [in] DWORD numVertices, [in] DWORD numBones, [in] DWORD options, [in] DWORD fvf, [in] LPDIRECT3DDEVICE8 D3DDevice, [out,retval] LPD3DXSKINMESH* ppSkinMesh); [helpcontext(86342)] HRESULT CreateSkinMeshFromMesh( [in] LPD3DXMESH Mesh, [in] DWORD numBones, [out,retval] LPD3DXSKINMESH* ppSkinMesh); [helpcontext(86368)] HRESULT LoadSkinMeshFromXof( [in] IUnknown *xofobjMesh, //LPDIRECTXFILEDATA pxofobjMesh, [in] DWORD options, [in] LPDIRECT3DDEVICE8 D3DDevice, [in,out] LPD3DXBUFFER* AdjacencyOut, [in,out] LPD3DXBUFFER* MaterialsOut, [in,out] DWORD *NumMatOut, [in,out] LPD3DXBUFFER* BoneNamesOut, [in,out] LPD3DXBUFFER* BoneTransformsOut, [out,retval] LPD3DXSKINMESH* ppMesh); [helpcontext(86339)] HRESULT CreatePolygon( [in] LPDIRECT3DDEVICE8 D3DDevice, [in] FLOAT Length, [in] UINT Sides, [in,out] LPD3DXBUFFER *RetAdjacency, [out,retval] LPD3DXMESH* RetMesh); [helpcontext(86328)] HRESULT CreateBox( [in] LPDIRECT3DDEVICE8 D3DDevice, [in] FLOAT Width, [in] FLOAT Height, [in] FLOAT Depth, [in,out] LPD3DXBUFFER *RetAdjacency, [out,retval] LPD3DXMESH* RetMesh); [helpcontext(86335)] HRESULT CreateCylinder( [in] LPDIRECT3DDEVICE8 D3DDevice, [in] FLOAT Radius1, [in] FLOAT Radius2, [in] FLOAT Length, [in] UINT Slices, [in] UINT Stacks, [in,out] LPD3DXBUFFER *RetAdjacency, [out,retval] LPD3DXMESH* RetMesh); [helpcontext(97344)] HRESULT CreateSphere( [in] LPDIRECT3DDEVICE8 D3DDevice, [in] FLOAT Radius, [in] UINT Slices, [in] UINT Stacks, [in,out] LPD3DXBUFFER *RetAdjacency, [out,retval] LPD3DXMESH* RetMesh); [helpcontext(96356)] HRESULT CreateTorus( [in] LPDIRECT3DDEVICE8 D3DDevice, [in] FLOAT InnerRadius, [in] FLOAT OuterRadius, [in] UINT Sides, [in] UINT Rings, [in,out] LPD3DXBUFFER *RetAdjacency, [out,retval] LPD3DXMESH* RetMesh); [helpcontext(86347)] HRESULT CreateTeapot( [in] LPDIRECT3DDEVICE8 D3DDevice, [in,out] LPD3DXBUFFER *RetAdjacency, [out,retval] LPD3DXMESH* RetMesh); [helpcontext(96348)] HRESULT CreateText( [in] LPDIRECT3DDEVICE8 D3DDevice, [in] HDC hDC, [in] BSTR Text, [in] FLOAT Deviation, [in] FLOAT Extrusion, [in,out] LPD3DXMESH * RetMesh, [in,out] LPD3DXBUFFER *AdjacencyOut, [in,out] void *GlyphMetrics); [helpcontext(86314)] HRESULT BufferGetBoneName([in] LPD3DXBUFFER BoneNameBuffer, [in] DWORD index, [out,retval] BSTR *retName); [helpcontext(86346)] HRESULT CreateSprite( [in] LPDIRECT3DDEVICE8 D3DDevice, [out,retval] D3DXSprite ** retSprite); [helpcontext(86340)] HRESULT CreateRenderToSurface( [in] LPDIRECT3DDEVICE8 D3DDevice, [in] UINT Width, [in] UINT Height, [in] CONST_D3DFORMAT Format, [in] LONG DepthStencil, [in] CONST_D3DFORMAT DepthStencilFormat, [out,retval] D3DXRenderToSurface **RetRenderToSurface); [helpcontext(86322)] HRESULT CleanMesh([in] LPD3DXMESH MeshIn,[in] void *Adjacency, [in,out] BSTR *ErrLog, [in,out] LPD3DXBUFFER AdjacencyOut, [out,retval] LPD3DXMESH* MeshOut); [helpcontext(86383)] HRESULT ValidMesh([in] LPD3DXMESH MeshIn,[in] void *Adjacency, [in,out,optional] BSTR *ErrLog, [out,retval] VARIANT_BOOL *ret); [helpcontext(86313)] HRESULT BoxBoundProbe([in] D3DVECTOR_CDESC *MinVert,[in] D3DVECTOR_CDESC *MaxVert,[in] D3DVECTOR_CDESC *RayPosition, [in] D3DVECTOR_CDESC *RayDirection, [out,retval] VARIANT_BOOL *ret); [helpcontext(86379)] HRESULT SavePMeshToFile( [in] BSTR Filename, [in] D3DXPMesh *Mesh, [in] D3DXMATERIAL_CDESC *MaterialArray, [in] LONG MaterialCount); [helpcontext(86367)] HRESULT LoadPMeshFromFile( [in] BSTR Filename, [in] DWORD options, [in] LPDIRECT3DDEVICE8 D3DDevice, [out] LPD3DXBUFFER *RetMaterials, [out] LONG *RetNumMaterials, [out,retval] D3DXPMesh **RetPMesh); [helpcontext(87101)] HRESULT BufferGetBoneCombo([in] LPD3DXBUFFER BoneComboBuffer, [in] DWORD index, [in,out] D3DXBONECOMBINATION_CDESC *boneCombo); [helpcontext(87102)] HRESULT BufferGetBoneComboBoneIds([in] LPD3DXBUFFER BoneComboBuffer, [in] DWORD index, [in] DWORD PaletteSize, [in] void *BoneIds); [helpcontext(1)] HRESULT SaveSurfaceToFile([in] BSTR DestFile, [in] CONST_D3DXIMAGE_FILEFORMAT DestFormat, [in] LPDIRECT3DSURFACE8 SrcSurface, [in] PALETTEENTRY* SrcPalette, [in] RECT* SrcRect); [helpcontext(1)] HRESULT SaveVolumeToFile([in] BSTR DestFile, [in] CONST_D3DXIMAGE_FILEFORMAT DestFormat, [in] LPDIRECT3DVOLUME8 SrcVolume, [in] PALETTEENTRY* SrcPalette, [in] void* SrcBox); [helpcontext(1)] HRESULT SaveTextureToFile([in] BSTR DestFile, [in] CONST_D3DXIMAGE_FILEFORMAT DestFormat, [in] LPDIRECT3DBASETEXTURE8 SrcTexture, [in] PALETTEENTRY* SrcPalette); }; [ uuid(58356C5D-0BFD-48ed-93C5-F4520B6233DE), helpstring("D3DX8"), helpcontext(86302) ] coclass D3DX8 { [default] interface I_dxj_D3DX8; };