Files
Cheap-Vulkan-Renderer/simple_render_system.hpp

30 lines
758 B
C++

#pragma once
#include "cve_pipeline.hpp"
#include "cve_device.hpp"
#include "cve_game_object.hpp"
#include <memory>
#include <vector>
namespace cve {
class SimpleRenderSystem {
public:
SimpleRenderSystem(CveDevice &device, VkRenderPass renderPass);
~SimpleRenderSystem();
SimpleRenderSystem(const SimpleRenderSystem &) = delete;
SimpleRenderSystem &operator=(const SimpleRenderSystem &) = delete;
void renderGameObjects(VkCommandBuffer commandBuffer, std::vector<CveGameObject>& gameObjects);
private:
void createPipelineLayout();
void createPipeline(VkRenderPass renderPass);
CveDevice& cveDevice;
std::unique_ptr<CvePipeline> cvePipeline;
VkPipelineLayout pipelineLayout;
};
}