Go to the documentation of this file.00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019 #ifndef __CS_IENGINE_IMPOSTER_H__
00020 #define __CS_IENGINE_IMPOSTER_H__
00021
00022
00030 #include "csutil/scf.h"
00031
00032 struct iSharedVariable;
00033
00039 struct iImposterFactory : public virtual iBase
00040 {
00041 SCF_INTERFACE(iImposterFactory, 1, 4, 0);
00042
00046 virtual void AddImposter(iMeshWrapper* mesh, iRenderView* rview) = 0;
00047
00051 virtual void RemoveImposter(iMeshWrapper* mesh) = 0;
00052
00056 virtual bool RenderingImposter(iMeshWrapper* mesh) = 0;
00057
00062 virtual void SetMinDistance(float dist) = 0;
00063
00067 virtual float GetMinDistance() = 0;
00068
00075 virtual void SetRotationTolerance(float angle) = 0;
00076
00080 virtual float GetRotationTolerance() = 0;
00081
00088 virtual void SetCameraRotationTolerance(float angle) = 0;
00089
00093 virtual float GetCameraRotationTolerance() = 0;
00094
00098 virtual void SetShader(const char* type, const char* shader) = 0;
00099
00103 virtual void SetRenderReal(bool renderReal) = 0;
00104 };
00105
00106 struct iImposterMesh : public virtual iBase
00107 {
00108 SCF_INTERFACE(iImposterMesh, 1, 1, 0);
00109
00113 virtual void Destroy() = 0;
00114
00118 virtual bool Rendered() const = 0;
00119 };
00120
00121 struct ImposterShader
00122 {
00123 csString type;
00124 csString name;
00125
00126 ImposterShader (const char* type, const char* name)
00127 : type (type), name (name)
00128 {
00129 }
00130 };
00131
00134 #endif // __CS_IENGINE_IMPOSTER_H__