light/Engine/src/Platform/GraphicsAPI/DirectX/dxRenderCommand.h

35 lines
794 B
C
Raw Normal View History

2021-06-02 09:07:45 +04:30
#pragma once
#include "Base.h"
#include "Graphics/RenderCommand.h"
#include <d3d11.h>
#include <wrl.h>
namespace Light {
class dxSharedContext;
2021-06-02 09:07:45 +04:30
class dxRenderCommand : public RenderCommand
{
private:
std::shared_ptr<dxSharedContext> m_Context;
2021-06-02 09:07:45 +04:30
public:
dxRenderCommand(std::shared_ptr<dxSharedContext> sharedContext);
2021-06-02 09:07:45 +04:30
virtual void SwapBuffers() override;
virtual void ClearBackBuffer(const glm::vec4& clearColor) override;
2021-06-02 09:07:45 +04:30
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);
2021-06-02 09:07:45 +04:30
};
}