raSystem  1.0 bata
raMeshFile.h
Go to the documentation of this file.
1 #pragma once
2 
3 namespace raSystem
4 {
6  {
7  UINT NumVertices;
10  };
11 
12  class RAPI raMeshFile : public raEntity<VERTEXPOSITIONNORMALTEXTURED>
13  {
14  public:
15  raMeshFile(raDirectX *dx, LPCSTR FileName) : raEntity(dx, NULL, false, false, 0)
16  {
17  m_ModelFileName = FileName;
18  }
19  //~raMeshFile(void);
20 
21  virtual void Destroy() {};
22  virtual bool CreateMesh(void);
23  virtual bool DestroyMesh() { return true; };
24  virtual void SetupVertices() {};
25 
26  private:
27  LPCSTR m_ModelFileName;
28  BYTE* m_pStaticMeshData;
29  };
30 
31  class RAPI raSDKMesh : public raVisual
32  {
33  public:
34  raSDKMesh(raDirectX *dx, LPCSTR modelFileName,
35  LPCSTR effectFileName = "raEffects\\MyEngine.fx",
36  LPCSTR techniqueName = "RenderScene");
37 
38  raSDKMesh(raDirectX *dx, LPCSTR modelFileName, raMaterial *pMaterial);
39 
40 
41  virtual bool CreateMesh();
42  virtual bool DestroyMesh();
43  virtual bool RenderMesh(LPCSTR techniqueName = "");
44 
45 
46  virtual bool Intersects(
47  CONST raVector3 *pRayPos,
48  CONST raVector3 *pRayDir,
49  float *pDist);
50 
51  const LPCSTR& GetModelFileName() const;
52 
53  //IMesh Interface
54  virtual ID3D11Buffer* GetVertexBuffer(){ return m_Mesh.GetVB11(0, 0);}
55  virtual ID3D11Buffer* GetIndexBuffer() { return m_Mesh.GetIB11(0);}
56  virtual UINT GetStrideSize() { return m_Mesh.GetVertexStride(0, 0);}
57  virtual D3D11_PRIMITIVE_TOPOLOGY GetPrimitiveTopology(UINT n){
58  return m_Mesh.GetPrimitiveType11(
59  (SDKMESH_PRIMITIVE_TYPE)m_Mesh.GetSubset(0, n)->PrimitiveType);
60  }
61 
62  virtual DXGI_FORMAT GetIndexBufferFormat()
63  {
64  return DXGI_FORMAT_R32_UINT;
65  }
66 
67  virtual UINT GetNumSubsets(){ return m_Mesh.GetNumSubsets(0);}
68  virtual SDKMESH_SUBSET* GetSubset(UINT n){ return m_Mesh.GetSubset(0, n);}
69 
70  virtual UINT GetNumMaterials(){ return 1; }
71  virtual raMaterial* GetMaterial(UINT n){ return m_pMaterials[0]; }
72 
73  protected:
76 
78  };
79 };
virtual raMaterial * GetMaterial(UINT n)
Definition: raMeshFile.h:71
virtual D3D11_PRIMITIVE_TOPOLOGY GetPrimitiveTopology(UINT n)
Definition: raMeshFile.h:57
LPCSTR m_ModelFileName
Definition: raMeshFile.h:74
#define RAPI
Definition: raMain.h:11
virtual void SetupVertices()
Definition: raMeshFile.h:24
CDXUTSDKMesh m_Mesh
Definition: raMeshFile.h:75
virtual ID3D11Buffer * GetVertexBuffer()
Definition: raMeshFile.h:54
SDKMESH_PRIMITIVE_TYPE
Definition: raSDKmesh.h:35
virtual SDKMESH_SUBSET * GetSubset(UINT n)
Definition: raMeshFile.h:68
virtual DXGI_FORMAT GetIndexBufferFormat()
Definition: raMeshFile.h:62
virtual ID3D11Buffer * GetIndexBuffer()
Definition: raMeshFile.h:55
virtual UINT GetNumSubsets()
Definition: raMeshFile.h:67
virtual bool DestroyMesh()
Definition: raMeshFile.h:23
virtual UINT GetStrideSize()
Definition: raMeshFile.h:56
raMeshFile(raDirectX *dx, LPCSTR FileName)
Definition: raMeshFile.h:15
virtual void Destroy()
Definition: raMeshFile.h:21
virtual UINT GetNumMaterials()
Definition: raMeshFile.h:70