HikoGUI
A low latency retained GUI
Loading...
Searching...
No Matches
pipeline_SDF.hpp
1// Copyright Take Vos 2020.
2// Distributed under the Boost Software License, Version 1.0.
3// (See accompanying file LICENSE_1_0.txt or copy at https://www.boost.org/LICENSE_1_0.txt)
4
5#pragma once
6
7#include "pipeline_vulkan.hpp"
8#include "pipeline_SDF_push_constants.hpp"
9#include "pipeline_SDF_vertex.hpp"
10#include "../vspan.hpp"
11#include <vk_mem_alloc.h>
12#include <span>
13
14namespace tt::pipeline_SDF {
15
20public:
21 vspan<vertex> vertexBufferData;
22
23 pipeline_SDF(gui_window const &window);
24 ~pipeline_SDF() {};
25
26 pipeline_SDF(const pipeline_SDF &) = delete;
27 pipeline_SDF &operator=(const pipeline_SDF &) = delete;
28 pipeline_SDF(pipeline_SDF &&) = delete;
29 pipeline_SDF &operator=(pipeline_SDF &&) = delete;
30
31 void drawInCommandBuffer(vk::CommandBuffer commandBuffer) override;
32
33protected:
34 push_constants pushConstants;
35 int numberOfAtlasImagesInDescriptor = 0;
36
37 vk::Buffer vertexBuffer;
38 VmaAllocation vertexBufferAllocation;
39
40 std::vector<vk::PipelineShaderStageCreateInfo> createShaderStages() const override;
41 std::vector<vk::DescriptorSetLayoutBinding> createDescriptorSetLayoutBindings() const override;
42 std::vector<vk::WriteDescriptorSet> createWriteDescriptorSet() const override;
43 ssize_t getDescriptorSetVersion() const override;
44 std::vector<vk::PushConstantRange> createPushConstantRanges() const override;
45 vk::VertexInputBindingDescription createVertexInputBindingDescription() const override;
46 std::vector<vk::VertexInputAttributeDescription> createVertexInputAttributeDescriptions() const override;
47 std::vector<vk::PipelineColorBlendAttachmentState> getPipelineColorBlendAttachmentStates() const override;
48
49private:
50 void buildvertexBuffers() override;
51 void teardownvertexBuffers() override;
52};
53
54}
Definition gui_window.hpp:37
Definition pipeline_SDF.hpp:19
Definition pipeline_SDF_push_constants.hpp:12
Definition pipeline_vulkan.hpp:15
Definition vspan.hpp:73