rewrite PipelineData::InitVertexInputState
This commit is contained in:
parent
2b9152d602
commit
bb158d6105
@ -1 +1 @@
|
|||||||
Subproject commit fe9dc360c87179f8a8293f7f78127f366b7f191b
|
Subproject commit cf0b4cfb35fe5385fd8a887a0aabbdf115abfe74
|
@ -5,6 +5,7 @@
|
|||||||
#include<hgl/type/Map.h>
|
#include<hgl/type/Map.h>
|
||||||
#include<hgl/type/String.h>
|
#include<hgl/type/String.h>
|
||||||
#include<hgl/graph/vulkan/ShaderModuleMap.h>
|
#include<hgl/graph/vulkan/ShaderModuleMap.h>
|
||||||
|
#include<hgl/graph/vulkan/VKVertexAttributeBinding.h>
|
||||||
VK_NAMESPACE_BEGIN
|
VK_NAMESPACE_BEGIN
|
||||||
class DescriptorSetLayoutCreater;
|
class DescriptorSetLayoutCreater;
|
||||||
|
|
||||||
@ -54,7 +55,12 @@ public:
|
|||||||
const VkPipelineLayout GetPipelineLayout ()const;
|
const VkPipelineLayout GetPipelineLayout ()const;
|
||||||
DescriptorSets * CreateDescriptorSets ()const;
|
DescriptorSets * CreateDescriptorSets ()const;
|
||||||
|
|
||||||
void Write(VkPipelineVertexInputStateCreateInfo &vis)const;
|
const VertexAttributeBinding * GetVAB ()const{return vab;}
|
||||||
|
const uint32_t GetVertexAttrCount ()const{return vab->GetVertexAttrCount();}
|
||||||
|
const VkVertexInputBindingDescription * GetVertexBindingList ()const{return vab->GetVertexBindingList();}
|
||||||
|
const VkVertexInputAttributeDescription * GetVertexAttributeList ()const{return vab->GetVertexAttributeList();}
|
||||||
|
|
||||||
|
public:
|
||||||
|
|
||||||
Renderable * CreateRenderable (const uint32_t draw_count=0);
|
Renderable * CreateRenderable (const uint32_t draw_count=0);
|
||||||
MaterialInstance * CreateInstance ();
|
MaterialInstance * CreateInstance ();
|
||||||
|
@ -29,7 +29,9 @@ public:
|
|||||||
bool SetFormat (const uint binding,const VkFormat & format);
|
bool SetFormat (const uint binding,const VkFormat & format);
|
||||||
bool SetOffset (const uint binding,const uint32_t offset);
|
bool SetOffset (const uint binding,const uint32_t offset);
|
||||||
|
|
||||||
void Write(VkPipelineVertexInputStateCreateInfo &vis)const;
|
const uint32_t GetVertexAttrCount ()const{return attr_count;}
|
||||||
|
const VkVertexInputBindingDescription * GetVertexBindingList ()const{return binding_list;}
|
||||||
|
const VkVertexInputAttributeDescription * GetVertexAttributeList ()const{return attribute_list;}
|
||||||
};//class VertexAttributeBinding
|
};//class VertexAttributeBinding
|
||||||
VK_NAMESPACE_END
|
VK_NAMESPACE_END
|
||||||
#endif//HGL_GRAPH_VULKAN_VERTEX_ATTRIBUTE_BINDING_INCLUDE
|
#endif//HGL_GRAPH_VULKAN_VERTEX_ATTRIBUTE_BINDING_INCLUDE
|
||||||
|
@ -155,11 +155,6 @@ DescriptorSets *Material::CreateDescriptorSets()const
|
|||||||
return dsl_creater->Create();
|
return dsl_creater->Create();
|
||||||
}
|
}
|
||||||
|
|
||||||
void Material::Write(VkPipelineVertexInputStateCreateInfo &vis)const
|
|
||||||
{
|
|
||||||
return vab->Write(vis);
|
|
||||||
}
|
|
||||||
|
|
||||||
Renderable *Material::CreateRenderable(const uint32_t draw_count)
|
Renderable *Material::CreateRenderable(const uint32_t draw_count)
|
||||||
{
|
{
|
||||||
return(new Renderable(vertex_sm,draw_count));
|
return(new Renderable(vertex_sm,draw_count));
|
||||||
|
@ -15,9 +15,11 @@ Pipeline *CreatePipeline(VkDevice device,VkPipelineCache pipeline_cache,Pipeline
|
|||||||
{
|
{
|
||||||
VkPipeline graphicsPipeline;
|
VkPipeline graphicsPipeline;
|
||||||
|
|
||||||
data->InitVertexInputState(material->GetStageCount(),material->GetStages());
|
data->InitVertexInputState( material->GetStageCount(),
|
||||||
|
material->GetStages(),
|
||||||
material->Write(data->vis_create_info);
|
material->GetVertexAttrCount(),
|
||||||
|
material->GetVertexBindingList(),
|
||||||
|
material->GetVertexAttributeList());
|
||||||
|
|
||||||
data->InitViewportState(rt->GetExtent());
|
data->InitViewportState(rt->GetExtent());
|
||||||
|
|
||||||
|
@ -58,13 +58,4 @@ bool VertexAttributeBinding::SetOffset(const uint index,const uint32_t offset)
|
|||||||
|
|
||||||
return(true);
|
return(true);
|
||||||
}
|
}
|
||||||
|
|
||||||
void VertexAttributeBinding::Write(VkPipelineVertexInputStateCreateInfo &vis_create_info) const
|
|
||||||
{
|
|
||||||
vis_create_info.vertexBindingDescriptionCount = attr_count;
|
|
||||||
vis_create_info.pVertexBindingDescriptions = binding_list;
|
|
||||||
|
|
||||||
vis_create_info.vertexAttributeDescriptionCount = attr_count;
|
|
||||||
vis_create_info.pVertexAttributeDescriptions = attribute_list;
|
|
||||||
}
|
|
||||||
VK_NAMESPACE_END
|
VK_NAMESPACE_END
|
||||||
|
Loading…
x
Reference in New Issue
Block a user