35 lines
617 B
C++
35 lines
617 B
C++
|
|
#ifndef SPECTRE_GRAPHICS_RENDERER2D_H
|
|
#define SPECTRE_GRAPHICS_RENDERER2D_H
|
|
|
|
#include <Spectre/Graphics/Renderable.h>
|
|
#include <Spectre/Graphics/ShaderProgram.h>
|
|
#include <Spectre/Scene/Camera2D.h>
|
|
|
|
namespace sp {
|
|
|
|
class Renderer2D
|
|
{
|
|
public :
|
|
Renderer2D();
|
|
virtual ~Renderer2D();
|
|
|
|
void setCamera(const Camera2D& camera);
|
|
|
|
virtual void begin() {};
|
|
|
|
virtual void submit(const Renderable2D& renderable) = 0;
|
|
|
|
// Drawing.
|
|
virtual void draw(const Renderable2D* renderable) = 0;
|
|
|
|
virtual void render() = 0;
|
|
|
|
protected :
|
|
|
|
const Camera2D* m_camera;
|
|
};
|
|
|
|
} // namespace sp
|
|
|
|
#endif /* SPECTRE_GRAPHICS_RENDERER2D_H */
|