PixelBullet  0.0.1
A C++ game engine
Loading...
Searching...
No Matches
subrender.h
1#pragma once
2
3#include "pixelbullet/graphics/commands/command_buffer.h"
4#include "pixelbullet/graphics/pipelines/pipeline.h"
5
6namespace pixelbullet
7{
12{
13public:
18 explicit Subrender(Pipeline::Stage stage)
19 : stage_(std::move(stage))
20 {
21 }
22
23 virtual ~Subrender() = default;
24
25 Subrender(const Subrender&) = delete;
26 Subrender& operator=(const Subrender&) = delete;
27 Subrender(Subrender&&) noexcept = default;
28 Subrender& operator=(Subrender&&) noexcept = default;
29
34 virtual void Render(const CommandBuffer& commandBuffer) = 0;
35
36 const Pipeline::Stage& GetStage() const
37 {
38 return stage_;
39 }
40
41 bool IsEnabled() const
42 {
43 return enabled_;
44 }
45 void SetEnabled(bool enable)
46 {
47 this->enabled_ = enable;
48 }
49
50private:
51 bool enabled_ = true;
52 Pipeline::Stage stage_;
53};
54} // namespace pixelbullet
Class that represents a command buffer.
Definition command_buffer.h:16
Class that is used to represent a pipeline.
Definition pipeline.h:15
std::pair< uint32_t, uint32_t > Stage
Definition pipeline.h:20
Represents a render pipeline that is used to render a type of pipeline.
Definition subrender.h:12
virtual void Render(const CommandBuffer &commandBuffer)=0
Subrender(Pipeline::Stage stage)
Definition subrender.h:18