12 #define SDKMESH_FILE_VERSION 101 13 #define MAX_VERTEX_ELEMENTS 32 14 #define MAX_VERTEX_STREAMS 16 15 #define MAX_FRAME_NAME 100 16 #define MAX_MESH_NAME 100 17 #define MAX_SUBSET_NAME 100 18 #define MAX_MATERIAL_NAME 100 19 #define MAX_TEXTURE_NAME MAX_PATH 20 #define MAX_MATERIAL_PATH MAX_PATH 21 #define INVALID_FRAME ((UINT)-1) 22 #define INVALID_MESH ((UINT)-1) 23 #define INVALID_MATERIAL ((UINT)-1) 24 #define INVALID_SUBSET ((UINT)-1) 25 #define INVALID_ANIMATION_DATA ((UINT)-1) 26 #define INVALID_SAMPLER_SLOT ((UINT)-1) 27 #define ERROR_RESOURCE_VALUE 1 252 UINT m_NumOutstandingResources;
255 HANDLE m_hFileMappingObject;
268 char m_strPathW[MAX_PATH];
269 char m_strPath[MAX_PATH];
294 HRESULT CreateVertexBuffer(
raDirectX* pd3dDevice,
301 virtual HRESULT CreateFromFile(
raDirectX* pDev11,
303 bool bCreateAdjacencyIndices,
306 virtual HRESULT CreateFromMemory(
raDirectX* pDev11,
309 bool bCreateAdjacencyIndices,
314 void TransformBindPoseFrame( UINT iFrame, D3DXMATRIX* pParentWorld );
315 void TransformFrame( UINT iFrame, D3DXMATRIX* pParentWorld,
double fTime );
316 void TransformFrameAbsolute( UINT iFrame,
double fTime );
321 void RenderMesh( UINT iMesh,
325 UINT iSpecularSlot );
328 void RenderFrame( UINT iFrame,
332 UINT iSpecularSlot );
338 virtual HRESULT Create(
raDirectX* pDev11, LPCTSTR
szFileName,
bool bCreateAdjacencyIndices=
340 virtual HRESULT Create(
raDirectX* pDev11, BYTE*
pData, UINT DataBytes,
341 bool bCreateAdjacencyIndices=
false,
bool bCopyStatic=
false,
345 virtual void Destroy();
348 void TransformBindPose( D3DXMATRIX* pWorld );
349 void TransformMesh( D3DXMATRIX* pWorld,
double fTime );
361 DXGI_FORMAT GetIBFormat11( UINT iMesh );
362 ID3D11Buffer* GetVB11( UINT iMesh, UINT iVB );
363 ID3D11Buffer* GetIB11( UINT iMesh );
366 ID3D11Buffer* GetAdjIB11( UINT iMesh );
371 UINT GetNumMaterials();
375 ID3D11Buffer* GetVB11At( UINT iVB );
376 ID3D11Buffer* GetIB11At( UINT iIB );
378 BYTE* GetRawVerticesAt( UINT iVB );
379 BYTE* GetRawIndicesAt( UINT iIB );
382 UINT GetNumSubsets( UINT iMesh );
384 UINT GetVertexStride( UINT iMesh, UINT iVB );
388 UINT64 GetNumVertices( UINT iMesh, UINT iVB );
389 UINT64 GetNumIndices( UINT iMesh );
390 D3DXVECTOR3 GetMeshBBoxCenter( UINT iMesh );
391 D3DXVECTOR3 GetMeshBBoxExtents( UINT iMesh );
392 UINT GetOutstandingResources();
393 UINT GetOutstandingBufferResources();
394 bool CheckLoadDone();
397 void SetLoading(
bool bLoading );
398 BOOL HadLoadingError();
401 UINT GetNumInfluences( UINT iMesh );
402 const D3DXMATRIX* GetMeshInfluenceMatrix( UINT iMesh, UINT iInfluence );
403 UINT GetAnimationKeyFromTime(
double fTime );
404 const D3DXMATRIX* GetWorldMatrix( UINT iFrameIndex );
405 const D3DXMATRIX* GetInfluenceMatrix( UINT iFrameIndex );
406 bool GetAnimationProperties( UINT* pNumKeys, FLOAT* pFrameTime );
SDKMESH_VERTEX_BUFFER_HEADER * m_pVertexBufferArray
ID3D11ShaderResourceView * pSpecularRV11
SDKMESH_SUBSET * m_pSubsetArray
SDKANIMATION_DATA * pAnimationData
ID3D11Texture2D * pDiffuseTexture11
raString ID3D11ShaderResourceView void * pContext
SDKMESH_FRAME * m_pFrameArray
BOOL IsErrorResource(TYPE data)
ID3D11Texture2D * pNormalTexture11
LPCREATEINDEXBUFFER11 pCreateIndexBuffer
UINT64 MaterialDataOffset
UINT64 IndexStreamHeadersOffset
#define MAX_MATERIAL_NAME
SDKMESH_INDEX_BUFFER_HEADER * m_pIndexBufferArray
LPCREATEVERTEXBUFFER11 pCreateVertexBuffer
#define MAX_MATERIAL_PATH
SDKANIMATION_FRAME_DATA * m_pAnimationFrameData
LPCREATETEXTUREFROMFILE11 pCreateTextureFromFile
SDKMESH_HEADER * m_pMeshHeader
raString ID3D11ShaderResourceView ** ppRV
UINT64 FrameInfluenceOffset
#define MAX_VERTEX_STREAMS
UINT64 VertexStreamHeadersOffset
D3DXMATRIX * m_pBindPoseFrameMatrices
SDKMESH_MATERIAL * m_pMaterialArray
#define ERROR_RESOURCE_VALUE
ID3D11Buffer D3D11_BUFFER_DESC BufferDesc
ID3D11ShaderResourceView * pDiffuseRV11
SDKMESH_INDEX_BUFFER_HEADER * m_pAdjacencyIndexBufferArray
D3DXVECTOR3 BoundingBoxCenter
SDKMESH_MESH * m_pMeshArray
D3DXVECTOR3 BoundingBoxExtents
ID3D11Buffer D3D11_BUFFER_DESC void * pData
D3DXMATRIX * m_pTransformedFrameMatrices
ID3D11Texture2D * pSpecularTexture11
UINT64 AnimationDataOffset
SDKANIMATION_FILE_HEADER * m_pAnimationHeader
ID3D11ShaderResourceView * pNormalRV11
#define INVALID_SAMPLER_SLOT
typedef void(CALLBACK *LPCREATETEXTUREFROMFILE11)(raDirectX *pDev
D3DXMATRIX * m_pWorldPoseFrameMatrices