28 #ifndef HPL_BILLBOARD_H 29 #define HPL_BILLBOARD_H 31 #include "RenderList.h" 32 #include "hpl1/engine/graphics/GraphicsTypes.h" 33 #include "hpl1/engine/graphics/Renderable.h" 34 #include "hpl1/engine/math/MathTypes.h" 35 #include "hpl1/engine/scene/Entity3D.h" 36 #include "hpl1/engine/system/SystemTypes.h" 43 eBillboardType_LastEnum
46 class cMaterialManager;
51 class iLowLevelGraphics;
54 class iOcclusionQuery;
58 kSaveData_ChildClass(iRenderable, cBillboard) {
59 kSaveData_ClassInit(cBillboard) public : tString msMaterial;
64 float mfForwardOffset;
69 cVector3f mvHaloSourceSize;
70 bool mbHaloSourceIsParent;
72 virtual iSaveObject *CreateSaveObject(cSaveObjectHandler * apSaveObjectHandler, cGame * apGame);
73 virtual int GetSaveCreatePrio();
91 void SetType(eBillboardType aType);
92 eBillboardType GetType() {
return mType; }
97 void SetForwardOffset(
float afOffset);
98 float GetForwardOffset() {
return mfForwardOffset; }
100 void SetColor(
const cColor &aColor);
101 const cColor &GetColor() {
return mColor; }
103 void SetHaloAlpha(
float afX);
104 float GetHaloAlpha() {
return mfHaloAlpha; }
106 void LoadXMLProperties(
const tString asFile);
110 void SetIsHalo(
bool abX);
111 bool IsHalo() {
return mbIsHalo; }
113 void SetHaloSourceSize(
const cVector3f &avSize);
114 cVector3f GetHaloSourceSize() {
return mvHaloSourceSize; }
116 void SetHaloSourceIsParent(
bool abX);
117 bool GetHaloSourceIsParent() {
return mbHaloSourceIsParent; }
124 tString GetEntityType() {
return "Billboard"; }
127 void SetVisible(
bool abVisible) { SetRendered(abVisible); }
130 iMaterial *GetMaterial() {
return mpMaterial; }
135 bool IsShadowCaster() {
return false; }
143 eRenderableType GetRenderType() {
return eRenderableType_ParticleSystem; }
152 eBillboardType ToType(
const char *apString);
154 void UpdateSourceBufferSize();
168 eBillboardType mType;
172 int mlLastRenderCount;
176 bool mbHaloSourceIsParent;
180 float mfForwardOffset;
187 #endif // HPL_BILLBOARD_H
int GetMatrixUpdateCount()
virtual void SaveToSaveData(iSaveData *apSaveData)
Definition: VertexBuffer.h:90
virtual iSaveData * CreateSaveData()
Definition: MaterialManager.h:41
virtual void SaveDataSetup(cSaveObjectHandler *apSaveObjectHandler, cGame *apGame)
Definition: BoundingVolume.h:71
Definition: Renderable.h:70
Definition: FileSearcher.h:43
Definition: BillBoard.h:78
Definition: MeshCreator.h:43
Definition: SaveGame.h:111
Definition: RenderList.h:145
Definition: OcclusionQuery.h:33
Definition: RenderList.h:110
Definition: Resources.h:160
Definition: Material.h:203
virtual void LoadFromSaveData(iSaveData *apSaveData)
Definition: SaveGame.h:183
Definition: Graphics.h:46
Definition: LowLevelGraphics.h:200
Definition: Camera3D.h:53