87 lines
1.5 KiB
C++
87 lines
1.5 KiB
C++
|
|
#ifndef __CRECommon_H__
|
|
#define __CRECommon_H__
|
|
|
|
//=============================================================
|
|
//class CTerrain;
|
|
|
|
class CRECommon : public CRendElement
|
|
{
|
|
friend class CRender3D;
|
|
|
|
public:
|
|
|
|
CRECommon()
|
|
{
|
|
mfSetType(eDATA_TerrainSector);
|
|
mfUpdateFlags(FCEF_TRANSFORM);
|
|
}
|
|
|
|
virtual ~CRECommon()
|
|
{
|
|
}
|
|
|
|
virtual void mfPrepare();
|
|
virtual bool mfDraw(SShader *ef, SShaderPass *sfm) { return true; }
|
|
};
|
|
|
|
class CREFarTreeSprites : public CRECommon
|
|
{
|
|
public:
|
|
CREFarTreeSprites()
|
|
{
|
|
mfSetType(eDATA_FarTreeSprites);
|
|
mfUpdateFlags(FCEF_TRANSFORM);
|
|
}
|
|
virtual bool mfDraw(SShader *ef, SShaderPass *sfm);
|
|
};
|
|
|
|
class CRETerrainDetailTextureLayers: public CRECommon
|
|
{
|
|
public:
|
|
CRETerrainDetailTextureLayers()
|
|
{
|
|
mfSetType(eDATA_TerrainDetailTextureLayers);
|
|
mfUpdateFlags(FCEF_TRANSFORM);
|
|
}
|
|
virtual bool mfDraw(SShader *ef, SShaderPass *sfm);
|
|
};
|
|
|
|
class CRETerrainParticles: public CRECommon
|
|
{
|
|
public:
|
|
CRETerrainParticles()
|
|
{
|
|
mfSetType(eDATA_TerrainParticles);
|
|
mfUpdateFlags(FCEF_TRANSFORM);
|
|
}
|
|
virtual bool mfDraw(SShader *ef, SShaderPass *sfm);
|
|
};
|
|
|
|
class CREClearStencil : public CRECommon
|
|
{
|
|
public:
|
|
CREClearStencil()
|
|
{
|
|
mfSetType(eDATA_ClearStencil);
|
|
mfUpdateFlags(FCEF_TRANSFORM);
|
|
}
|
|
virtual bool mfDraw(SShader *ef, SShaderPass *sfm);
|
|
};
|
|
|
|
class CREShadowMapGen: public CRECommon
|
|
{
|
|
public:
|
|
|
|
CREShadowMapGen()
|
|
{
|
|
mfSetType(eDATA_ShadowMapGen);
|
|
mfUpdateFlags(FCEF_TRANSFORM);
|
|
}
|
|
|
|
virtual bool mfDraw(SShader *ef, SShaderPass *sfm) { return true; }
|
|
};
|
|
|
|
|
|
#endif // __CRECommon_H__
|