diff --git a/example/Vulkan/VKVertexAttributeBinding.cpp b/example/Vulkan/VKVertexAttributeBinding.cpp index 94abeab8..f26a5ef8 100644 --- a/example/Vulkan/VKVertexAttributeBinding.cpp +++ b/example/Vulkan/VKVertexAttributeBinding.cpp @@ -38,6 +38,20 @@ bool VertexAttributeBinding::SetInstance(const UTF8String &name,bool instance) return SetInstance(shader->GetBinding(name),instance); } +bool VertexAttributeBinding::SetStride(const uint index,uint32_t stride) +{ + if(index>=shader->GetAttrCount())return(false); + + binding_list[index].stride=stride; + + return(true); +} + +bool VertexAttributeBinding::SetStride(const UTF8String &name,uint32_t stride) +{ + return SetStride(shader->GetBinding(name),stride); +} + void VertexAttributeBinding::Write(VkPipelineVertexInputStateCreateInfo &vis_create_info) const { vis_create_info.sType = VK_STRUCTURE_TYPE_PIPELINE_VERTEX_INPUT_STATE_CREATE_INFO; diff --git a/example/Vulkan/VKVertexAttributeBinding.h b/example/Vulkan/VKVertexAttributeBinding.h index 91fb99b1..bd8f5d04 100644 --- a/example/Vulkan/VKVertexAttributeBinding.h +++ b/example/Vulkan/VKVertexAttributeBinding.h @@ -30,6 +30,9 @@ public: bool SetInstance(const uint index,bool instance); bool SetInstance(const UTF8String &name,bool instance); + bool SetStride(const uint index,uint32_t stride); + bool SetStride(const UTF8String &name,uint32_t stride); + void Write(VkPipelineVertexInputStateCreateInfo &vis)const; };//class VertexAttributeBinding VK_NAMESPACE_END diff --git a/example/Vulkan/VKVertexInput.h b/example/Vulkan/VKVertexInput.h index 8e964610..a252a73e 100644 --- a/example/Vulkan/VKVertexInput.h +++ b/example/Vulkan/VKVertexInput.h @@ -8,31 +8,6 @@ class VertexBuffer; class IndexBuffer; class Shader; -/** - * 顶点输入状态实例
- * 本对象用于传递给MaterialInstance,用于已经确定好顶点格式的情况下,依然可修改部分设定(如instance)。 - */ -class VertexAttributeBinding -{ - Shader *shader; - VkVertexInputBindingDescription *binding_list; - -private: - - friend class Shader; - - VertexAttributeBinding(Shader *); - -public: - - ~VertexAttributeBinding(); - - bool SetInstance(const uint index,bool instance); - bool SetInstance(const UTF8String &name,bool instance); - - void Write(VkPipelineVertexInputStateCreateInfo &vis)const; -};//class VertexInputStateInstance - /** * 顶点输入配置,负责具体的buffer绑定,提供给CommandBuffer使用
* 注:本引擎不支持一个Buffer中包括多种数据