light/Engine/src/Engine/Graphics/RenderCommand.h
2021-05-27 18:55:30 +04:30

30 lines
No EOL
539 B
C++

#pragma once
#include "Base.h"
struct GLFWwindow;
namespace Light {
class RenderCommand
{
private:
public:
RenderCommand(const RenderCommand&) = delete;
RenderCommand& operator=(const RenderCommand&) = delete;
virtual ~RenderCommand() = default;
virtual void SwapBuffers() = 0;
virtual void ClearBackBuffer() = 0;
virtual void Draw(unsigned int count) = 0;
virtual void DrawIndexed(unsigned int count) = 0;
static RenderCommand* Create(GLFWwindow* windowHandle);
protected:
RenderCommand() = default;
};
}