feat: renderable interface
This commit is contained in:
26
engine/include/engine/renderer/renderable.h
Normal file
26
engine/include/engine/renderer/renderable.h
Normal file
@@ -0,0 +1,26 @@
|
|||||||
|
#ifndef CORE_RENDERABLE_H_
|
||||||
|
#define CORE_RENDERABLE_H_
|
||||||
|
|
||||||
|
#include "engine/renderer/shader.h"
|
||||||
|
|
||||||
|
#include "engine/export.h"
|
||||||
|
|
||||||
|
namespace Core {
|
||||||
|
|
||||||
|
class Renderer;
|
||||||
|
|
||||||
|
class ENGINE_API Renderable {
|
||||||
|
protected:
|
||||||
|
Renderable();
|
||||||
|
virtual ~Renderable() = default;
|
||||||
|
|
||||||
|
private:
|
||||||
|
virtual void Prepare() = 0;
|
||||||
|
virtual void Render(Shader& shader) = 0;
|
||||||
|
|
||||||
|
friend class Core::Renderer;
|
||||||
|
};
|
||||||
|
|
||||||
|
} // namespace Core
|
||||||
|
|
||||||
|
#endif // CORE_RENDERABLE_H_
|
||||||
Reference in New Issue
Block a user