prime/include/MetaRender/IRenderer.hpp
Henrique Gemignani Passos Lima 8bb6d3442b Fix missing forward declaration in IRenderer
Former-commit-id: 0510758333ef7c875e099b6cc5b0c401c95d8143
2022-10-17 18:54:45 +03:00

41 lines
907 B
C++

#ifndef _IRENDERER
#define _IRENDERER
#include "types.h"
class CTransform4f;
class CParticleGen;
class IObjectStore;
class COsContext;
class CMemorySys;
class CResFactory;
class IRenderer {
public:
enum EDrawableSorting {
kDS_SortedCallback,
kDS_UnsortedCallback,
};
virtual ~IRenderer();
// TODO vtable
virtual void AddStaticGeometry();
virtual void EnablePVS();
virtual void DisablePVS();
virtual void RemoveStaticGeometry();
virtual void DrawUnsortedGeometry();
virtual void DrawSortedGeometry();
virtual void DrawStaticGeometry();
virtual void DrawAreaGeometry();
virtual void PostRenderFogs();
virtual void SetModelMatrix(const CTransform4f& xf);
virtual void AddParticleGen(const CParticleGen& gen);
};
namespace Renderer {
IRenderer* AllocateRenderer(IObjectStore&, COsContext&, CMemorySys&, CResFactory&);
}; // namespace Renderer
#endif // _IRENDERER