Gray C++ Libraries  0.0.2
A set of C++ libraries for MSVC, GNU on Windows, WinCE, Linux
UseDXX.h
Go to the documentation of this file.
1 //
5 //
6 #ifndef _INC_UseDXX_H
7 #define _INC_UseDXX_H
8 #ifndef NO_PRAGMA_ONCE
9 #pragma once
10 #endif
11 
12 #include "UseDX.h"
13 
14 #ifdef USE_DXX
15 #include <d3dx9.h> // Extra DX9 stuff for meshes, loading textures, effects , etc.
16 
17 #else
18 
19 #define THIS_
20 #ifndef THIS
21 #define THIS
22 #define PURE
23 #endif
24 
25 //interface ID3DXAllocateHierarchy;
26 //interface ID3DXBuffer; // LPD3DXBUFFER
27 //interface ID3DXLoadUserData;
28 interface ID3DXSaveUserData;
29 interface ID3DXAnimationController;
30 //interface ID3DXFileData;
31 interface ID3DXFileSaveData;
32 interface ID3DXFile;
33 interface ID3DXEffect;
34 interface ID3DXBaseMesh;
35 interface ID3DXMesh; // LPD3DXMESH
36 interface ID3DXSkinInfo; // NOT USED ?
37 //interface ID3DXPMesh;
38 //interface ID3DXPatchMesh;
39 
40 #define MAX_FVF_DECL_SIZE (64+1) // MAXD3DDECLLENGTH + 1 // +1 for END
41 typedef DWORD D3DXATTRIBUTERANGE; // ???
42 
44 {
45  D3DXEDT_STRING = 0x1, // pValue points to a null terminated ASCII string
46  D3DXEDT_FLOATS = 0x2, // pValue points to an array of floats - number of floats is NumBytes / sizeof(float)
47  D3DXEDT_DWORD = 0x3, // pValue points to a DWORD
48 
49  D3DXEDT_FORCEDWORD = 0x7fffffff
50 };
51 
53 {
56 };
57 
59 {
60  LPSTR pParamName;
61  enum _D3DXEFFECTDEFAULTTYPE Type; // type of the data pointed to by pValue
62  DWORD NumBytes; // size in bytes of the data pointed to by pValue
63  LPVOID pValue; // data for the default of the effect
64 }; // D3DXEFFECTDEFAULT, *LPD3DXEFFECTDEFAULT
65 
67 {
69  DWORD NumDefaults;
71 };
73 {
74  D3DXMESHTYPE_MESH = 0x001, // Normal ID3DXMesh data
75  //D3DXMESHTYPE_PMESH = 0x002, // Progressive Mesh - ID3DXPMesh
76  //D3DXMESHTYPE_PATCHMESH = 0x003, // Patch Mesh - ID3DXPatchMesh
77  D3DXMESHTYPE_FORCE_DWORD = 0x7fffffff, // force 32-bit size enum
78 };
80 {
82 
83  // current mesh data interface
84  union
85  {
86  ID3DXMesh* pMesh;
87  // ID3DXPMesh* pPMesh;
88  // ID3DXPatchMesh* pPatchMesh;
89  };
90 };
92 {
93  char* Name;
97  DWORD NumMaterials;
98  DWORD* pAdjacency;
99  ID3DXSkinInfo* pSkinInfo; // NOT USED
101 };
102 
104 {
105  char* Name;
107 
109 
112 };
113 
114 #define D3DX_DEFAULT ((UINT) -1)
115 
117 {
118  // ID3DXMesh::Optimize options - upper byte only, lower 3 bytes used from _D3DXMESH option flags
119  D3DXMESHOPT_COMPACT = 0x01000000,
120  D3DXMESHOPT_ATTRSORT = 0x02000000,
123  D3DXMESHOPT_IGNOREVERTS = 0x10000000, // optimize faces only, don't touch vertices
124  D3DXMESHOPT_DONOTSPLIT = 0x20000000, // do not split vertices shared between attribute groups when attribute sorting
125  D3DXMESHOPT_DEVICEINDEPENDENT = 0x00400000, // Only affects VCache. uses a static known good cache size for all cards
126  // D3DXMESHOPT_SHAREVB has been removed, please use D3DXMESH_VB_SHARE instead
127 };
128 
130 {
131  // IUnknown
132  STDMETHOD(QueryInterface)(THIS_ REFIID iid, LPVOID *ppv) PURE;
133  STDMETHOD_(ULONG, AddRef)(THIS) PURE;
134  STDMETHOD_(ULONG, Release)(THIS) PURE;
135 
136  // ID3DXBuffer
137  STDMETHOD_(LPVOID, GetBufferPointer)(THIS) PURE;
138  STDMETHOD_(DWORD, GetBufferSize)(THIS) PURE;
139 };
140 
141 // Mesh options - lower 3 bytes only, upper byte used by _D3DXMESHOPT option flags
143 {
144  D3DXMESH_32BIT = 0x001, // If set, then use 32 bit indices, if not set use 16 bit indices.
145  D3DXMESH_DONOTCLIP = 0x002, // Use D3DUSAGE_DONOTCLIP for VB & IB.
146  D3DXMESH_POINTS = 0x004, // Use D3DUSAGE_POINTS for VB & IB.
147  D3DXMESH_RTPATCHES = 0x008, // Use D3DUSAGE_RTPATCHES for VB & IB.
148  D3DXMESH_NPATCHES = 0x4000,// Use D3DUSAGE_NPATCHES for VB & IB.
149  D3DXMESH_VB_SYSTEMMEM = 0x010, // Use D3DPOOL_SYSTEMMEM for VB. Overrides D3DXMESH_MANAGEDVERTEXBUFFER
150  D3DXMESH_VB_MANAGED = 0x020, // Use D3DPOOL_MANAGED for VB.
151  D3DXMESH_VB_WRITEONLY = 0x040, // Use D3DUSAGE_WRITEONLY for VB.
152  D3DXMESH_VB_DYNAMIC = 0x080, // Use D3DUSAGE_DYNAMIC for VB.
153  D3DXMESH_VB_SOFTWAREPROCESSING = 0x8000, // Use D3DUSAGE_SOFTWAREPROCESSING for VB.
154  D3DXMESH_IB_SYSTEMMEM = 0x100, // Use D3DPOOL_SYSTEMMEM for IB. Overrides D3DXMESH_MANAGEDINDEXBUFFER
155  D3DXMESH_IB_MANAGED = 0x200, // Use D3DPOOL_MANAGED for IB.
156  D3DXMESH_IB_WRITEONLY = 0x400, // Use D3DUSAGE_WRITEONLY for IB.
157  D3DXMESH_IB_DYNAMIC = 0x800, // Use D3DUSAGE_DYNAMIC for IB.
158  D3DXMESH_IB_SOFTWAREPROCESSING= 0x10000, // Use D3DUSAGE_SOFTWAREPROCESSING for IB.
159 
160  D3DXMESH_VB_SHARE = 0x1000, // Valid for Clone* calls only, forces cloned mesh/pmesh to share vertex buffer
161 
162  D3DXMESH_USEHWONLY = 0x2000, // Valid for ID3DXSkinInfo::ConvertToBlendedMesh
163 
164  // Helper options
165  D3DXMESH_SYSTEMMEM = 0x110, // D3DXMESH_VB_SYSTEMMEM | D3DXMESH_IB_SYSTEMMEM
166  D3DXMESH_MANAGED = 0x220, // D3DXMESH_VB_MANAGED | D3DXMESH_IB_MANAGED
167  D3DXMESH_WRITEONLY = 0x440, // D3DXMESH_VB_WRITEONLY | D3DXMESH_IB_WRITEONLY
168  D3DXMESH_DYNAMIC = 0x880, // D3DXMESH_VB_DYNAMIC | D3DXMESH_IB_DYNAMIC
169  D3DXMESH_SOFTWAREPROCESSING = 0x18000, // D3DXMESH_VB_SOFTWAREPROCESSING | D3DXMESH_IB_SOFTWAREPROCESSING
170 };
171 
173 {
174  // IUnknown
175  STDMETHOD(QueryInterface)(THIS_ const IID& iid, void* *ppv) PURE;
176  STDMETHOD_(ULONG, AddRef)(THIS) PURE;
177  STDMETHOD_(ULONG, Release)(THIS) PURE;
178 
179  // ID3DXBaseMesh
180  STDMETHOD(DrawSubset)(THIS_ DWORD AttribId) PURE;
181  STDMETHOD_(DWORD, GetNumFaces)(THIS) PURE;
182  STDMETHOD_(DWORD, GetNumVertices)(THIS) PURE;
183  STDMETHOD_(DWORD, GetFVF)(THIS) PURE;
184  STDMETHOD(GetDeclaration)(THIS_ _D3DVERTEXELEMENT9 Declaration[]) PURE; // MAX_FVF_DECL_SIZE
185  STDMETHOD_(DWORD, GetNumBytesPerVertex)(THIS) PURE;
186  STDMETHOD_(DWORD, GetOptions)(THIS) PURE;
187  STDMETHOD(GetDevice)(THIS_ IDirect3DDevice9** ppDevice) PURE;
188  STDMETHOD(CloneMeshFVF)(THIS_ DWORD Options,
189  DWORD FVF, IDirect3DDevice9* pD3DDevice, ID3DXMesh** ppCloneMesh) PURE;
190  STDMETHOD(CloneMesh)(THIS_ DWORD Options,
191  const _D3DVERTEXELEMENT9 *pDeclaration, IDirect3DDevice9* pD3DDevice, ID3DXMesh** ppCloneMesh) PURE;
192  STDMETHOD(GetVertexBuffer)(THIS_ IDirect3DVertexBuffer9** ppVB) PURE;
193  STDMETHOD(GetIndexBuffer)(THIS_ IDirect3DIndexBuffer9** ppIB) PURE;
194  STDMETHOD(LockVertexBuffer)(THIS_ DWORD Flags, void* *ppData) PURE;
195  STDMETHOD(UnlockVertexBuffer)(THIS) PURE;
196  STDMETHOD(LockIndexBuffer)(THIS_ DWORD Flags, void* *ppData) PURE;
197  STDMETHOD(UnlockIndexBuffer)(THIS) PURE;
198  STDMETHOD(GetAttributeTable)(
199  THIS_ D3DXATTRIBUTERANGE *pAttribTable, DWORD* pAttribTableSize) PURE;
200 
201  STDMETHOD(ConvertPointRepsToAdjacency)(THIS_ const DWORD* pPRep, DWORD* pAdjacency) PURE;
202  STDMETHOD(ConvertAdjacencyToPointReps)(THIS_ const DWORD* pAdjacency, DWORD* pPRep) PURE;
203  STDMETHOD(GenerateAdjacency)(THIS_ float Epsilon, DWORD* pAdjacency) PURE;
204 
205  STDMETHOD(UpdateSemantics)(THIS_ _D3DVERTEXELEMENT9 Declaration[]) PURE; // MAX_FVF_DECL_SIZE
206 };
207 
208 DECLARE_INTERFACE_(ID3DXMesh,ID3DXBaseMesh)
209 {
210  // LockAttributeBuffer
211  // UnlockAttributeBuffer
212 
213  // IUnknown
214  STDMETHOD(QueryInterface)(THIS_ const IID& iid, void* *ppv) PURE;
215  STDMETHOD_(ULONG, AddRef)(THIS) PURE;
216  STDMETHOD_(ULONG, Release)(THIS) PURE;
217 
218  // ID3DXBaseMesh
219  STDMETHOD(DrawSubset)(THIS_ DWORD AttribId) PURE;
220  STDMETHOD_(DWORD, GetNumFaces)(THIS) PURE;
221  STDMETHOD_(DWORD, GetNumVertices)(THIS) PURE;
222  STDMETHOD_(DWORD, GetFVF)(THIS) PURE;
223  STDMETHOD(GetDeclaration)(THIS_ _D3DVERTEXELEMENT9 Declaration[]) PURE; // MAX_FVF_DECL_SIZE
224  STDMETHOD_(DWORD, GetNumBytesPerVertex)(THIS) PURE;
225  STDMETHOD_(DWORD, GetOptions)(THIS) PURE;
226  STDMETHOD(GetDevice)(THIS_ IDirect3DDevice9** ppDevice) PURE;
227  STDMETHOD(CloneMeshFVF)(THIS_ DWORD Options,
228  DWORD FVF, IDirect3DDevice9* pD3DDevice, ID3DXMesh** ppCloneMesh) PURE;
229  STDMETHOD(CloneMesh)(THIS_ DWORD Options,
230  const _D3DVERTEXELEMENT9 *pDeclaration, IDirect3DDevice9* pD3DDevice, ID3DXMesh** ppCloneMesh) PURE;
231  STDMETHOD(GetVertexBuffer)(THIS_ IDirect3DVertexBuffer9** ppVB) PURE;
232  STDMETHOD(GetIndexBuffer)(THIS_ IDirect3DIndexBuffer9** ppIB) PURE;
233  STDMETHOD(LockVertexBuffer)(THIS_ DWORD Flags, void* *ppData) PURE;
234  STDMETHOD(UnlockVertexBuffer)(THIS) PURE;
235  STDMETHOD(LockIndexBuffer)(THIS_ DWORD Flags, void* *ppData) PURE;
236  STDMETHOD(UnlockIndexBuffer)(THIS) PURE;
237  STDMETHOD(GetAttributeTable)(
238  THIS_ D3DXATTRIBUTERANGE *pAttribTable, DWORD* pAttribTableSize) PURE;
239 
240  STDMETHOD(ConvertPointRepsToAdjacency)(THIS_ const DWORD* pPRep, DWORD* pAdjacency) PURE;
241  STDMETHOD(ConvertAdjacencyToPointReps)(THIS_ const DWORD* pAdjacency, DWORD* pPRep) PURE;
242  STDMETHOD(GenerateAdjacency)(THIS_ float Epsilon, DWORD* pAdjacency) PURE;
243 
244  STDMETHOD(UpdateSemantics)(THIS_ _D3DVERTEXELEMENT9 Declaration[MAX_FVF_DECL_SIZE]) PURE;
245 
246  // ID3DXMesh
247  STDMETHOD(LockAttributeBuffer)(THIS_ DWORD Flags, DWORD** ppData) PURE;
248  STDMETHOD(UnlockAttributeBuffer)(THIS) PURE;
249  STDMETHOD(Optimize)(THIS_ DWORD Flags, const DWORD* pAdjacencyIn, DWORD* pAdjacencyOut,
250  DWORD* pFaceRemap, ID3DXBuffer**ppVertexRemap,
251  ID3DXMesh** ppOptMesh) PURE;
252  STDMETHOD(OptimizeInplace)(THIS_ DWORD Flags, const DWORD* pAdjacencyIn, DWORD* pAdjacencyOut,
253  DWORD* pFaceRemap, ID3DXBuffer** ppVertexRemap) PURE;
254  STDMETHOD(SetAttributeTable)(THIS_ const D3DXATTRIBUTERANGE *pAttribTable, DWORD cAttribTableSize) PURE;
255 };
256 
257 DECLARE_INTERFACE(ID3DXAllocateHierarchy)
258 {
259  // ID3DXAllocateHierarchy
260 
261  //------------------------------------------------------------------------
262  // CreateFrame:
263  // ------------
264  // Requests allocation of a frame object.
265  //
266  // Parameters:
267  // Name
268  // Name of the frame to be created
269  // ppNewFrame
270  // Returns the created frame object
271  //
272  //------------------------------------------------------------------------
273  STDMETHOD(CreateFrame)(THIS_ LPCSTR Name, _D3DXFRAME* *ppNewFrame) PURE;
274 
275  //------------------------------------------------------------------------
276  // CreateMeshContainer:
277  // --------------------
278  // Requests allocation of a mesh container object.
279  //
280  // Parameters:
281  // Name
282  // Name of the mesh
283  // pMesh
284  // Pointer to the mesh object if basic polygon data found
285  // pPMesh
286  // Pointer to the progressive mesh object if progressive mesh data found
287  // pPatchMesh
288  // Pointer to the patch mesh object if patch data found
289  // pMaterials
290  // Array of materials used in the mesh
291  // pEffectInstances
292  // Array of effect instances used in the mesh
293  // NumMaterials
294  // Num elements in the pMaterials array
295  // pAdjacency
296  // Adjacency array for the mesh
297  // pSkinInfo
298  // Pointer to the skininfo object if the mesh is skinned
299  // pBoneNames
300  // Array of names, one for each bone in the skinned mesh.
301  // The numberof bones can be found from the pSkinMesh object
302  // pBoneOffsetMatrices
303  // Array of matrices, one for each bone in the skinned mesh.
304  //
305  //------------------------------------------------------------------------
306  STDMETHOD(CreateMeshContainer)(THIS_
307  LPCSTR Name,
308  const _D3DXMESHDATA *pMeshData,
309  const _D3DXMATERIAL *pMaterials,
310  const _D3DXEFFECTINSTANCE *pEffectInstances,
311  DWORD NumMaterials,
312  const DWORD *pAdjacency,
313  ID3DXSkinInfo* /* pSkinInfo*/,
314  _D3DXMESHCONTAINER* *ppNewMeshContainer) PURE;
315 
316  //------------------------------------------------------------------------
317  // DestroyFrame:
318  // -------------
319  // Requests de-allocation of a frame object.
320  //
321  // Parameters:
322  // pFrameToFree
323  // Pointer to the frame to be de-allocated
324  //
325  //------------------------------------------------------------------------
326  STDMETHOD(DestroyFrame)(THIS_ _D3DXFRAME* pFrameToFree) PURE;
327 
328  //------------------------------------------------------------------------
329  // DestroyMeshContainer:
330  // ---------------------
331  // Requests de-allocation of a mesh container object.
332  //
333  // Parameters:
334  // pMeshContainerToFree
335  // Pointer to the mesh container object to be de-allocated
336  //
337  //------------------------------------------------------------------------
338  STDMETHOD(DestroyMeshContainer)(THIS_ _D3DXMESHCONTAINER* pMeshContainerToFree) PURE;
339 };
340 
341 interface ID3DXFileEnumObject;
342 
344 {
345  STDMETHOD(QueryInterface)(THIS_ REFIID, LPVOID*) PURE;
346  STDMETHOD_(ULONG, AddRef)(THIS) PURE;
347  STDMETHOD_(ULONG, Release)(THIS) PURE;
348 
349  STDMETHOD(GetEnum)(THIS_ ID3DXFileEnumObject**) PURE;
350  STDMETHOD(GetName)(THIS_ LPSTR, SIZE_T*) PURE;
351  STDMETHOD(GetId)(THIS_ LPGUID) PURE;
352  STDMETHOD(Lock)(THIS_ SIZE_T*, LPCVOID*) PURE;
353  STDMETHOD(Unlock)(THIS) PURE;
354  STDMETHOD(GetType)(THIS_ GUID*) PURE;
355  STDMETHOD_(BOOL, IsReference)(THIS) PURE;
356  STDMETHOD(GetChildren)(THIS_ SIZE_T*) PURE;
357  STDMETHOD(GetChild)(THIS_ SIZE_T, ID3DXFileData**) PURE;
358 };
359 
360 DECLARE_INTERFACE_(ID3DXFileEnumObject, IUnknown)
361 {
362  STDMETHOD(QueryInterface)(THIS_ REFIID, LPVOID*) PURE;
363  STDMETHOD_(ULONG, AddRef)(THIS) PURE;
364  STDMETHOD_(ULONG, Release)(THIS) PURE;
365 
366  STDMETHOD(GetFile)(THIS_ ID3DXFile**) PURE;
367  STDMETHOD(GetChildren)(THIS_ SIZE_T*) PURE;
368  STDMETHOD(GetChild)(THIS_ SIZE_T, ID3DXFileData**) PURE;
369  STDMETHOD(GetDataObjectById)(THIS_ REFGUID, ID3DXFileData**) PURE;
370  STDMETHOD(GetDataObjectByName)(THIS_ LPCSTR, ID3DXFileData**) PURE;
371 };
372 
373 DECLARE_INTERFACE(ID3DXLoadUserData)
374 {
375  STDMETHOD(LoadTopLevelData)(ID3DXFileData* pXofChildData) PURE;
376 
377  STDMETHOD(LoadFrameChildData)(_D3DXFRAME* pFrame,
378  ID3DXFileData* pXofChildData) PURE;
379 
380  STDMETHOD(LoadMeshChildData)(_D3DXMESHCONTAINER* pMeshContainer,
381  ID3DXFileData* pXofChildData) PURE;
382 };
383 
384 #endif // USE_DXX
385 #endif // _INC_UseDXX_H
_D3DXEFFECTDEFAULTTYPE
Definition: UseDXX.h:44
@ D3DXEDT_FORCEDWORD
Definition: UseDXX.h:49
@ D3DXEDT_FLOATS
Definition: UseDXX.h:46
@ D3DXEDT_STRING
Definition: UseDXX.h:45
@ D3DXEDT_DWORD
Definition: UseDXX.h:47
#define THIS_
Definition: UseDXX.h:19
DWORD D3DXATTRIBUTERANGE
Definition: UseDXX.h:41
DECLARE_INTERFACE(ID3DXAllocateHierarchy)
Definition: UseDXX.h:257
_D3DXMESHOPT
Definition: UseDXX.h:117
@ D3DXMESHOPT_DONOTSPLIT
Definition: UseDXX.h:124
@ D3DXMESHOPT_STRIPREORDER
Definition: UseDXX.h:122
@ D3DXMESHOPT_IGNOREVERTS
Definition: UseDXX.h:123
@ D3DXMESHOPT_ATTRSORT
Definition: UseDXX.h:120
@ D3DXMESHOPT_VERTEXCACHE
Definition: UseDXX.h:121
@ D3DXMESHOPT_DEVICEINDEPENDENT
Definition: UseDXX.h:125
@ D3DXMESHOPT_COMPACT
Definition: UseDXX.h:119
_D3DXMESHDATATYPE
Definition: UseDXX.h:73
@ D3DXMESHTYPE_FORCE_DWORD
Definition: UseDXX.h:77
@ D3DXMESHTYPE_MESH
Definition: UseDXX.h:74
_D3DXMESH
Definition: UseDXX.h:143
@ D3DXMESH_NPATCHES
Definition: UseDXX.h:148
@ D3DXMESH_VB_MANAGED
Definition: UseDXX.h:150
@ D3DXMESH_USEHWONLY
Definition: UseDXX.h:162
@ D3DXMESH_32BIT
Definition: UseDXX.h:144
@ D3DXMESH_DONOTCLIP
Definition: UseDXX.h:145
@ D3DXMESH_DYNAMIC
Definition: UseDXX.h:168
@ D3DXMESH_VB_SOFTWAREPROCESSING
Definition: UseDXX.h:153
@ D3DXMESH_VB_WRITEONLY
Definition: UseDXX.h:151
@ D3DXMESH_POINTS
Definition: UseDXX.h:146
@ D3DXMESH_SYSTEMMEM
Definition: UseDXX.h:165
@ D3DXMESH_WRITEONLY
Definition: UseDXX.h:167
@ D3DXMESH_IB_MANAGED
Definition: UseDXX.h:155
@ D3DXMESH_IB_WRITEONLY
Definition: UseDXX.h:156
@ D3DXMESH_VB_SYSTEMMEM
Definition: UseDXX.h:149
@ D3DXMESH_RTPATCHES
Definition: UseDXX.h:147
@ D3DXMESH_IB_SYSTEMMEM
Definition: UseDXX.h:154
@ D3DXMESH_SOFTWAREPROCESSING
Definition: UseDXX.h:169
@ D3DXMESH_IB_SOFTWAREPROCESSING
Definition: UseDXX.h:158
@ D3DXMESH_MANAGED
Definition: UseDXX.h:166
@ D3DXMESH_VB_SHARE
Definition: UseDXX.h:160
@ D3DXMESH_IB_DYNAMIC
Definition: UseDXX.h:157
@ D3DXMESH_VB_DYNAMIC
Definition: UseDXX.h:152
#define MAX_FVF_DECL_SIZE
Definition: UseDXX.h:40
DECLARE_INTERFACE_(ID3DXBuffer, IUnknown)
Definition: UseDXX.h:129
#define THIS
Definition: UseDX.h:347
#define PURE
Definition: UseDX.h:348
Definition: IUnknown.h:68
Definition: MathDX.h:138
Definition: UseDX.h:128
Definition: UseDX.h:118
Definition: UseDXX.h:59
DWORD NumBytes
Definition: UseDXX.h:62
LPSTR pParamName
Definition: UseDXX.h:60
enum _D3DXEFFECTDEFAULTTYPE Type
Definition: UseDXX.h:61
LPVOID pValue
Definition: UseDXX.h:63
Definition: UseDXX.h:67
DWORD NumDefaults
Definition: UseDXX.h:69
_D3DXEFFECTDEFAULT * pDefaults
Definition: UseDXX.h:70
char * pEffectFilename
Definition: UseDXX.h:68
Definition: UseDXX.h:104
struct _D3DXFRAME * pFrameFirstChild
Definition: UseDXX.h:111
char * Name
Definition: UseDXX.h:105
XMFLOAT4X4 TransformationMatrix
Definition: UseDXX.h:106
_D3DXMESHCONTAINER * pMeshContainer
Definition: UseDXX.h:108
struct _D3DXFRAME * pFrameSibling
Definition: UseDXX.h:110
Definition: UseDXX.h:53
_D3DMATERIAL9 MatD3D
Definition: UseDXX.h:54
char * pTextureFilename
Definition: UseDXX.h:55
Definition: UseDXX.h:92
_D3DXMESHDATA MeshData
Definition: UseDXX.h:94
_D3DXMATERIAL * pMaterials
Definition: UseDXX.h:95
struct _D3DXMESHCONTAINER * pNextMeshContainer
Definition: UseDXX.h:100
DWORD NumMaterials
Definition: UseDXX.h:97
DWORD * pAdjacency
Definition: UseDXX.h:98
char * Name
Definition: UseDXX.h:93
_D3DXEFFECTINSTANCE * pEffects
Definition: UseDXX.h:96
ID3DXSkinInfo * pSkinInfo
Definition: UseDXX.h:99
Definition: UseDXX.h:80
ID3DXMesh * pMesh
Definition: UseDXX.h:86
_D3DXMESHDATATYPE Type
Definition: UseDXX.h:81
Definition: IUnknown.h:34