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