#pragma once #include "Base.h" #include "Graphics/RenderCommand.h" #include #include namespace Light { class dxSharedContext; class dxRenderCommand : public RenderCommand { private: std::shared_ptr m_Context; public: dxRenderCommand(std::shared_ptr sharedContext); virtual void SwapBuffers() override; virtual void ClearBackBuffer(const glm::vec4& clearColor) override; virtual void Draw(unsigned int count) override; virtual void DrawIndexed(unsigned int count) override; virtual void DefaultTargetFramebuffer() override; virtual void SetViewport(unsigned int x, unsigned int y, unsigned int width, unsigned int height) override; private: void SetResolution(unsigned int width, unsigned int height); }; }