VAB增加SetStride函数

This commit is contained in:
hyzboy 2019-04-27 00:48:49 +08:00
parent bc4f244a55
commit 151e1af1e4
3 changed files with 17 additions and 25 deletions

View File

@ -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;

View File

@ -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

View File

@ -8,31 +8,6 @@ class VertexBuffer;
class IndexBuffer;
class Shader;
/**
* <br>
* 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使用<br>
* Buffer中包括多种数据