VAB增加SetStride函数
This commit is contained in:
parent
bc4f244a55
commit
151e1af1e4
@ -38,6 +38,20 @@ bool VertexAttributeBinding::SetInstance(const UTF8String &name,bool instance)
|
|||||||
return SetInstance(shader->GetBinding(name),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
|
void VertexAttributeBinding::Write(VkPipelineVertexInputStateCreateInfo &vis_create_info) const
|
||||||
{
|
{
|
||||||
vis_create_info.sType = VK_STRUCTURE_TYPE_PIPELINE_VERTEX_INPUT_STATE_CREATE_INFO;
|
vis_create_info.sType = VK_STRUCTURE_TYPE_PIPELINE_VERTEX_INPUT_STATE_CREATE_INFO;
|
||||||
|
@ -30,6 +30,9 @@ public:
|
|||||||
bool SetInstance(const uint index,bool instance);
|
bool SetInstance(const uint index,bool instance);
|
||||||
bool SetInstance(const UTF8String &name,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;
|
void Write(VkPipelineVertexInputStateCreateInfo &vis)const;
|
||||||
};//class VertexAttributeBinding
|
};//class VertexAttributeBinding
|
||||||
VK_NAMESPACE_END
|
VK_NAMESPACE_END
|
||||||
|
@ -8,31 +8,6 @@ class VertexBuffer;
|
|||||||
class IndexBuffer;
|
class IndexBuffer;
|
||||||
class Shader;
|
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绑定,提供给CommandBuffer使用<br>
|
||||||
* 注:本引擎不支持一个Buffer中包括多种数据
|
* 注:本引擎不支持一个Buffer中包括多种数据
|
||||||
|
Loading…
x
Reference in New Issue
Block a user