From a9374f01e1bcce05543a63c81169133dcc1bf346 Mon Sep 17 00:00:00 2001 From: HuYingzhuo Date: Thu, 18 Apr 2019 16:37:59 +0800 Subject: [PATCH] =?UTF-8?q?VertexInput=E5=A2=9E=E5=8A=A0=E7=9B=B4=E6=8E=A5?= =?UTF-8?q?=E8=BF=94=E5=9B=9EVkPipelineVertexInputStateCreateInfo=E7=BB=93?= =?UTF-8?q?=E6=9E=84=E7=9A=84=E5=8A=9F=E8=83=BD?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- example/Vulkan/VKVertexInput.cpp | 17 +++++++++++++++++ example/Vulkan/VKVertexInput.h | 5 +++++ 2 files changed, 22 insertions(+) diff --git a/example/Vulkan/VKVertexInput.cpp b/example/Vulkan/VKVertexInput.cpp index bcfce795..8cfd5e2b 100644 --- a/example/Vulkan/VKVertexInput.cpp +++ b/example/Vulkan/VKVertexInput.cpp @@ -23,6 +23,23 @@ bool VertexInput::Add(VertexBuffer *buf,bool instance) vib_list.Add(new VertexInputBuffer(binding,attrib,buf)); buf_list.Add(buf->GetBuffer()); + binding_list.Add(binding); + attribute_list.Add(attrib); + return(true); } + +const VkPipelineVertexInputStateCreateInfo VertexInput::GetPipelineVertexInputStateCreateInfo()const +{ + VkPipelineVertexInputStateCreateInfo vertexInputInfo = {}; + vertexInputInfo.sType = VK_STRUCTURE_TYPE_PIPELINE_VERTEX_INPUT_STATE_CREATE_INFO; + + vertexInputInfo.vertexBindingDescriptionCount = binding_list.GetCount(); + vertexInputInfo.pVertexBindingDescriptions = binding_list.GetData(); + + vertexInputInfo.vertexAttributeDescriptionCount = attribute_list.GetCount(); + vertexInputInfo.pVertexAttributeDescriptions = attribute_list.GetData(); + + return vertexInputInfo; +} VK_NAMESPACE_END diff --git a/example/Vulkan/VKVertexInput.h b/example/Vulkan/VKVertexInput.h index 2a209db2..8121b8d5 100644 --- a/example/Vulkan/VKVertexInput.h +++ b/example/Vulkan/VKVertexInput.h @@ -31,6 +31,9 @@ class VertexInput ObjectList vib_list; List buf_list; + List binding_list; + List attribute_list; + public: VertexInput()=default; @@ -41,6 +44,8 @@ public: public: const List &GetBufferList()const{return buf_list;} + + const VkPipelineVertexInputStateCreateInfo GetPipelineVertexInputStateCreateInfo()const; };//class VertexInput VK_NAMESPACE_END #endif//HGL_GRAPH_VULKAN_VERTEX_INPUT_INCLUDE