34 lines
786 B
C++
34 lines
786 B
C++
|
#pragma once
|
||
|
|
||
|
#include "hk_device.hpp"
|
||
|
#include "hk_game_object.hpp"
|
||
|
#include "hk_pipeline.hpp"
|
||
|
|
||
|
// std
|
||
|
#include <memory>
|
||
|
#include <vector>
|
||
|
|
||
|
namespace hk
|
||
|
{
|
||
|
class SimpleRenderSystem
|
||
|
{
|
||
|
public:
|
||
|
|
||
|
SimpleRenderSystem(Device &device, VkRenderPass renderPass);
|
||
|
~SimpleRenderSystem();
|
||
|
|
||
|
SimpleRenderSystem(const SimpleRenderSystem &) = delete;
|
||
|
SimpleRenderSystem &operator=(const SimpleRenderSystem &) = delete;
|
||
|
|
||
|
void renderGameObjects(VkCommandBuffer commandBuffer, std::vector<GameObject> &gameObjects);
|
||
|
|
||
|
private:
|
||
|
void createPipelineLayout();
|
||
|
void createPipeline(VkRenderPass renderPass);
|
||
|
|
||
|
Device &m_device;
|
||
|
std::unique_ptr<Pipeline> m_pipeline;
|
||
|
VkPipelineLayout m_pipelineLayout;
|
||
|
};
|
||
|
}
|