定义一些说明未来要做的

This commit is contained in:
HuYingzhuo 2019-04-23 22:07:26 +08:00
parent 2eaf43e42d
commit f64ee43576
4 changed files with 7 additions and 9 deletions

View File

@ -3,7 +3,7 @@
layout(location = 0) in vec2 Vertex;
layout(location = 1) in vec3 Color;
layout (binding = 0) uniform UBO
layout (binding = 0) uniform MVPMatrix
{
mat4 MVP;
} ubo;

View File

@ -36,7 +36,7 @@ DescriptorSetLayout::~DescriptorSetLayout()
DestroyDescriptorSetLayout(*device,desc_set_layout_list);
}
bool DescriptorSetLayout::UpdateBuffer(const uint32_t binding,const VkDescriptorBufferInfo *buf_info)
bool DescriptorSetLayout::UpdateUBO(const uint32_t binding,const VkDescriptorBufferInfo *buf_info)
{
int index;
@ -46,13 +46,9 @@ bool DescriptorSetLayout::UpdateBuffer(const uint32_t binding,const VkDescriptor
VkDescriptorSet set;
if(!desc_sets.Get(index,set))
return(false);
// Update the descriptor set determining the shader binding points
// For every binding point used in a shader there needs to be one
// descriptor set matching that binding point
VkWriteDescriptorSet writeDescriptorSet = {};
// Binding 0 : Uniform buffer
writeDescriptorSet.sType = VK_STRUCTURE_TYPE_WRITE_DESCRIPTOR_SET;
writeDescriptorSet.dstSet = set;
writeDescriptorSet.descriptorCount = 1;

View File

@ -32,7 +32,7 @@ public:
const List<VkDescriptorSet> & GetSets ()const{return desc_sets;}
bool UpdateBuffer(const uint32_t binding,const VkDescriptorBufferInfo *buf_info);
bool UpdateUBO(const uint32_t binding,const VkDescriptorBufferInfo *buf_info);
};//class DescriptorSetLayout
/**

View File

@ -202,11 +202,13 @@ int main(int,char **)
vulkan::DescriptorSetLayoutCreater dslc(device);
dslc.BindUBO(0,VK_SHADER_STAGE_VERTEX_BIT);
const int mvp_binding=0; //shader->GetBinding("MVPMatrix"); 实现从材质shader文件中根据名称获取binding的功能
dslc.BindUBO(mvp_binding,VK_SHADER_STAGE_VERTEX_BIT);
vulkan::DescriptorSetLayout *dsl=dslc.Create();
dsl->UpdateBuffer(0,*ubo);
dsl->UpdateUBO(mvp_binding,*ubo);
vulkan::PipelineLayout *pl=CreatePipelineLayout(*device,dsl);