38 void DestroyShaderModules();
41 VkPipelineLayout pipelineLayout;
43 std::vector<VkVertexInputBindingDescription> bindingDescriptions;
44 std::vector<VkVertexInputAttributeDescription> attributeDescriptions;
46 VkPipelineMultisampleStateCreateInfo multisamplingCreateInfo;
47 VkPipelineRasterizationStateCreateInfo rasterizerCreateInfo;
48 VkPipelineDepthStencilStateCreateInfo depthStencilCreateInfo;
50 std::vector<VkPipelineShaderStageCreateInfo> shaderStages;
53 PipelineType pipelineType;
66 vc::Error _LoadShader(
const std::string & path)
override;
67 void SetMultiSamplingCount(
const int samples)
override;
68 void _SetLineWidth(
const float width)
override;
69 void _SetDepthTest(
const bool enable)
override;
70 void _SetDepthWrite(
const bool enable)
override;
71 vc::Error _ReloadShader()
override;
73 void _AddVertexBufferToLayout(
const uint32_t vertexSize,
const uint32_t binding,
const uint32_t location,
const uint32_t offset,
const vc::ShaderVertexFormat format)
override;
74 vc::Error LoadShaders();
75 VkPipeline GetPipeline()
const;
76 VkPipelineLayout GetPipelineLayout()
const;
77 const VkDescriptorSetLayout & GetDescriptorSetLayout()
const;
79 vc::Error LoadShader(
const std::string& shaderPath, VkPipelineShaderStageCreateInfo * pipelineCreateInfo);