Files
FC1/RenderDll/Common/RendElements/CRETempMesh.h
romkazvo 34d6c5d489 123
2023-08-07 19:29:24 +08:00

49 lines
993 B
C++

#ifndef __CRETEMPMESH_H__
#define __CRETEMPMESH_H__
//=============================================================
class CRETempMesh : public CRendElement
{
public:
CVertexBuffer *m_VBuffer;
SVertexStream m_Inds;
public:
CRETempMesh()
{
m_VBuffer = NULL;
m_Inds.Reset();
mfSetType(eDATA_TempMesh);
mfUpdateFlags(FCEF_TRANSFORM);
}
virtual ~CRETempMesh()
{
if (m_VBuffer)
{
gRenDev->ReleaseBuffer(m_VBuffer);
m_VBuffer = NULL;
}
gRenDev->ReleaseIndexBuffer(&m_Inds);
m_Inds.Reset();
}
virtual void mfPrepare();
virtual bool mfDraw(SShader *ef, SShaderPass *sfm);
virtual void *mfGetPointer(ESrcPointer ePT, int *Stride, int Type, ESrcPointer Dst, int Flags);
virtual bool mfPreDraw(SShaderPass *sl);
virtual void mfReset();
virtual int Size()
{
int nSize = sizeof(*this);
if (m_VBuffer)
nSize += m_VBuffer->Size(0, m_VBuffer->m_NumVerts);
return nSize;
}
};
#endif // __CRETEMPMESH_H__