#pragma once #include "hk_device.hpp" #include "hk_game_object.hpp" #include "hk_pipeline.hpp" // std #include #include 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 &gameObjects); private: void createPipelineLayout(); void createPipeline(VkRenderPass renderPass); Device &m_device; std::unique_ptr m_pipeline; VkPipelineLayout m_pipelineLayout; }; }