Changeset b794178 in opengl-game for graphics-pipeline_vulkan.hpp
- Timestamp:
- Oct 17, 2019, 9:30:18 PM (5 years ago)
- Branches:
- feature/imgui-sdl, master, points-test
- Children:
- e83b155
- Parents:
- 771b33a
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
graphics-pipeline_vulkan.hpp
r771b33a rb794178 8 8 #include <vulkan/vulkan.h> 9 9 10 // TODO: Maybe change the name of this struct so I can call the list something other than descriptorInfoList 11 struct DescriptorInfo { 12 VkDescriptorType type; 13 VkShaderStageFlags stageFlags; 14 15 // Only one of the below properties should be set 16 vector<VkDescriptorBufferInfo>* bufferDataList; 17 VkDescriptorImageInfo* imageData; 18 }; 19 10 20 class GraphicsPipeline_Vulkan : public GraphicsPipeline { 11 21 public: 12 GraphicsPipeline_Vulkan(VkDevice device, V iewport viewport, int vertexSize);22 GraphicsPipeline_Vulkan(VkDevice device, VkRenderPass renderPass, Viewport viewport, int vertexSize); 13 23 ~GraphicsPipeline_Vulkan(); 14 24 25 // Maybe I should rename these to addVertexAttribute (addVaryingAttribute) and addUniformAttribute 26 15 27 void addAttribute(VkFormat format, size_t offset); 28 29 void addDescriptorInfo(VkDescriptorType type, VkShaderStageFlags stageFlags, vector<VkDescriptorBufferInfo>* bufferData); 30 void addDescriptorInfo(VkDescriptorType type, VkShaderStageFlags stageFlags, VkDescriptorImageInfo* imageData); 31 16 32 void createPipeline(string vertShaderFile, string fragShaderFile); 33 void createDescriptorSetLayout(); 34 void createDescriptorPool(vector<VkImage>& swapChainImages); 35 void createDescriptorSets(vector<VkImage>& swapChainImages); 36 37 void cleanup(); 38 void cleanupBuffers(); 17 39 18 40 private: 19 VkDevice device;20 VkVertexInputBindingDescription bindingDescription;21 vector<VkVertexInputAttributeDescription> attributeDescriptions;22 23 41 VkShaderModule createShaderModule(const vector<char>& code); 24 42 vector<char> readFile(const string& filename); 43 44 VkDevice device; 45 VkRenderPass renderPass; 46 47 VkPipeline pipeline; 48 VkPipelineLayout pipelineLayout; 49 50 VkVertexInputBindingDescription bindingDescription; 51 52 vector<VkVertexInputAttributeDescription> attributeDescriptions; 53 vector<DescriptorInfo> descriptorInfoList; 54 55 VkDescriptorSetLayout descriptorSetLayout; 56 VkDescriptorPool descriptorPool; 57 vector<VkDescriptorSet> descriptorSets; 25 58 }; 26 59
Note:
See TracChangeset
for help on using the changeset viewer.