raSystem  1.0 bata
raTree.h
Go to the documentation of this file.
1 #pragma once
2 
3  class RAPI raTree : public raEntity<VERTEXPOSITIONNORMALTEXTURED, true, UINT32>
4  {
5  public:
6  raTree(raSmartPointer<raDirectX> dx, LPCSTR barkTextureFile, LPCSTR leafTextureFile, int height,
7  int nSlices = 8, float r0 = 1.0f, raMatrix *pTransform = NULL);
8 
9  raTree(raSmartPointer<raDirectX> dx, raMaterial* barkMaterial, LPCSTR leafTextureFile, int height, int nSlices = 8,
10  float r0 = 1.0f, raMatrix *pTransform = NULL);
11 
12  virtual bool Create();
13  virtual void Destroy();
14 
15  virtual void SetupVertices();
16  virtual void SetupIndices();
17 
18  virtual void SetupEffectVariables(const raMatrix& pView, const raMatrix& pProj,
19  const raLight* pLight);
20  virtual bool Render(UINT drawOrder, const raMatrix &pView, const raMatrix &pProj,
21  const raLight* pLight, LPCSTR techniqueName = "");
22 
23  private:
24  int AddBranchVerts(VERTEXPOSITIONNORMALTEXTURED* vertices, int n, raMatrix* pParentMatrix, int level);
25  float r(int y) {return m_r0 + y / (m_nHeightSegs - 1.0f) * (m_r1 - m_r0);}
26 
27  private:
28  int m_nLevels;
29  int m_nChildren;
30  float m_rRatio;
31  float m_lRatio;
32  int m_nHeightSegs;
33  int m_nSlices;
34  float m_l0;
35  float m_r0;
36  float m_r1;
37  int m_nMaxBranches;
38  int m_nBranches;
39  raMatrix* m_pTransform;
40 
41  raParticleSystem m_ParticleSystem;
42  };
Definition: raLight.h:5
virtual void Destroy()
Definition: raVisual.cpp:100
#define RAPI
Definition: raMain.h:11
virtual bool Create()
Definition: raVisual.cpp:45
virtual void SetupEffectVariables(const raMatrix &pView, const raMatrix &pProj, const raLight *pLight)
Definition: raVisual.cpp:117
Definition: raTree.h:3
virtual bool Render(UINT drawOrder, const raMatrix &pView, const raMatrix &pProj, const raLight *pLight, LPCSTR techniqueName="")
Definition: raVisual.cpp:142
virtual void SetupVertices()=0
virtual void SetupIndices()
Definition: raEntity.h:45