Add file structure to code

- Rename project to CopiumEngine
This commit is contained in:
Thraix
2023-02-07 21:43:47 +01:00
parent ef4eb7dd2f
commit 827572eada
494 changed files with 205 additions and 195 deletions
@@ -0,0 +1,37 @@
#pragma once
#include "copium/buffer/CommandBuffer.h"
#include "copium/core/Instance.h"
#include "copium/pipeline/DescriptorSet.h"
#include "copium/pipeline/PipelineCreator.h"
#include "copium/util/Common.h"
#include <vector>
#include <vulkan/vulkan.hpp>
namespace Copium
{
class Pipeline final
{
CP_DELETE_COPY_AND_MOVE_CTOR(Pipeline);
private:
Instance& instance;
std::vector<VkDescriptorSetLayout> descriptorSetLayouts{};
std::vector<VkDescriptorSet> boundDescriptorSets;
VkPipelineLayout pipelineLayout;
VkPipeline graphicsPipeline;
public:
Pipeline(Instance& instance, PipelineCreator creator);
~Pipeline();
void Bind(const CommandBuffer& commandBuffer);
void SetDescriptorSet(uint32_t setIndex, const DescriptorSet& descriptorSet);
void BindDescriptorSets(const CommandBuffer& commandBuffer);
VkDescriptorSetLayout GetDescriptorSetLayout(uint32_t setIndex) const;
private:
void InitializeDescriptorSetLayout(const PipelineCreator& creator);
void InitializePipeline(const PipelineCreator& creator);
};
}