light/modules/renderer/public/dx/render_command.hpp

40 lines
775 B
C++
Raw Normal View History

2022-03-08 21:19:19 +03:30
#pragma once
#include <d3d11.h>
#include <renderer/render_command.hpp>
2022-03-08 21:19:19 +03:30
#include <wrl.h>
2025-07-11 00:05:48 +03:30
namespace lt {
2022-03-08 21:19:19 +03:30
class dxSharedContext;
class dxRenderCommand: public RenderCommand
{
public:
dxRenderCommand(Ref<dxSharedContext> sharedContext);
virtual void swap_buffers() override;
2025-07-05 16:07:51 +03:30
virtual void clear_back_buffer(const glm::vec4 &clearColor) override;
2022-03-08 21:19:19 +03:30
virtual void draw(unsigned int count) override;
2025-07-05 16:07:51 +03:30
virtual void draw_indexed(unsigned int count) override;
2022-03-08 21:19:19 +03:30
virtual void default_target_framebuffer() override;
2022-03-08 21:19:19 +03:30
virtual void set_viewport(
2025-07-05 13:28:41 +03:30
unsigned int x,
unsigned int y,
unsigned int width,
unsigned int height
) override;
2022-03-08 21:19:19 +03:30
private:
2025-07-05 16:07:51 +03:30
Ref<dxSharedContext> m_context;
void set_resolution(unsigned int width, unsigned int height);
2022-03-08 21:19:19 +03:30
};
2025-07-11 00:05:48 +03:30
} // namespace lt