mirror of https://github.com/PrimeDecomp/prime.git
41 lines
907 B
C++
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
|