added UpdatePipeline() at RenderableInstance

This commit is contained in:
hyzboy 2021-06-20 02:15:17 +08:00
parent 9abcda6aa6
commit 6a56909341
2 changed files with 13 additions and 4 deletions

View File

@ -41,6 +41,14 @@ private:
private:
bool RecreatePipeline()
{
// pipeline=db->CreatePipeline(material_instance,sc_render_target,OS_TEXT("res/pipeline/solid2d"));
pipeline=CreatePipeline(material_instance,InlinePipeline::Solid2D); //等同上一行为Framework重载默认使用swapchain的render target
return pipeline;
}
bool InitMaterial()
{
material_instance=db->CreateMaterialInstance(OS_TEXT("res/material/VertexColor2D"));
@ -48,10 +56,7 @@ private:
if(!material_instance)
return(false);
// pipeline=db->CreatePipeline(material_instance,sc_render_target,OS_TEXT("res/pipeline/solid2d"));
pipeline=CreatePipeline(material_instance,InlinePipeline::Solid2D); //等同上一行为Framework重载默认使用swapchain的render target
return pipeline;
return RecreatePipeline();
}
bool InitUBO()
@ -125,6 +130,8 @@ public:
ubo_camera_info->Write(&cam.info);
RecreatePipeline();
render_instance->UpdatePipeline(pipeline);
BuildCommandBuffer(render_instance);
}
};//class TestApp:public VulkanApplicationFramework

View File

@ -34,6 +34,8 @@ public:
virtual ~RenderableInstance();
void UpdatePipeline (Pipeline *p){pipeline=p;}
Pipeline * GetPipeline (){return pipeline;}
VkPipelineLayout GetPipelineLayout (){return mat_inst->GetMaterial()->GetPipelineLayout();}
Material * GetMaterial (){return mat_inst->GetMaterial();}