Fixed samples 00-06

This commit is contained in:
hyzboy 2021-09-22 17:22:17 +08:00
parent 2753f95999
commit 3117b9673e
7 changed files with 25 additions and 78 deletions

View File

@ -34,13 +34,6 @@ private:
private: private:
bool RecreatePipeline()
{
pipeline=CreatePipeline(material_instance,InlinePipeline::Solid2D,Prim::TriangleStrip);
return pipeline;
}
bool InitMaterial() bool InitMaterial()
{ {
material_instance=db->CreateMaterialInstance(OS_TEXT("res/material/FragColor")); material_instance=db->CreateMaterialInstance(OS_TEXT("res/material/FragColor"));
@ -48,7 +41,9 @@ private:
if(!material_instance) if(!material_instance)
return(false); return(false);
return RecreatePipeline(); pipeline=CreatePipeline(material_instance,InlinePipeline::Solid2D,Prim::TriangleStrip);
return pipeline;
} }
bool InitUBO() bool InitUBO()
@ -118,9 +113,6 @@ public:
cam.Refresh(); cam.Refresh();
ubo_camera_info->Write(&cam.info); ubo_camera_info->Write(&cam.info);
RecreatePipeline();
renderable_instance->UpdatePipeline(pipeline);
BuildCommandBuffer(renderable_instance); BuildCommandBuffer(renderable_instance);
} }

View File

@ -29,17 +29,9 @@ private:
Pipeline * pipeline =nullptr; Pipeline * pipeline =nullptr;
Renderable * ro_plane_grid[3]; Renderable * ro_plane_grid[3];
RenderableInstance *ri_plane_grid[3];
private: private:
bool RecreatePipeline()
{
pipeline=CreatePipeline(material_instance,InlinePipeline::Solid3D,Prim::Lines);
return pipeline;
}
bool InitMDP() bool InitMDP()
{ {
material=db->CreateMaterial(OS_TEXT("res/material/VertexColor3D")); material=db->CreateMaterial(OS_TEXT("res/material/VertexColor3D"));
@ -47,8 +39,9 @@ private:
material_instance=db->CreateMaterialInstance(material); material_instance=db->CreateMaterialInstance(material);
if(!material_instance)return(false); if(!material_instance)return(false);
if(!RecreatePipeline()) pipeline=CreatePipeline(material_instance,InlinePipeline::Solid3D,Prim::Lines);
if(!pipeline)
return(false); return(false);
{ {
@ -108,9 +101,9 @@ private:
bool InitScene() bool InitScene()
{ {
ri_plane_grid[0]=Add(ro_plane_grid[0],Matrix4f::identity); Add(ro_plane_grid[0],Matrix4f::identity);
ri_plane_grid[1]=Add(ro_plane_grid[1],rotate(HGL_RAD_90,0,1,0)); Add(ro_plane_grid[1],rotate(HGL_RAD_90,0,1,0));
ri_plane_grid[2]=Add(ro_plane_grid[2],rotate(HGL_RAD_90,1,0,0)); Add(ro_plane_grid[2],rotate(HGL_RAD_90,1,0,0));
render_root.RefreshMatrix(); render_root.RefreshMatrix();
render_list->Expend(camera->info,&render_root); render_list->Expend(camera->info,&render_root);
@ -152,11 +145,6 @@ public:
{ {
CameraAppFramework::Resize(w,h); CameraAppFramework::Resize(w,h);
RecreatePipeline();
for(int i=0;i<3;i++)
ri_plane_grid[i]->UpdatePipeline(pipeline);
VulkanApplicationFramework::BuildCommandBuffer(render_list); VulkanApplicationFramework::BuildCommandBuffer(render_list);
} }
};//class TestApp:public CameraAppFramework };//class TestApp:public CameraAppFramework

View File

@ -274,8 +274,6 @@ public:
render_list.Begin(); render_list.Begin();
render_root.ExpendToList(&render_list); render_root.ExpendToList(&render_list);
render_list.End(); render_list.End();
VulkanApplicationFramework::BuildCommandBuffer(index,&render_list); VulkanApplicationFramework::BuildCommandBuffer(index,&render_list);
} }

View File

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

View File

@ -44,20 +44,15 @@ private:
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() bool InitMaterial()
{ {
material_instance=db->CreateMaterialInstance(OS_TEXT("res/material/FragColor")); material_instance=db->CreateMaterialInstance(OS_TEXT("res/material/FragColor"));
if(!material_instance)return(false); if(!material_instance)return(false);
return RecreatePipeline(); // pipeline=db->CreatePipeline(material_instance,sc_render_target,OS_TEXT("res/pipeline/solid2d"));
pipeline=CreatePipeline(material_instance,InlinePipeline::Solid2D,Prim::Triangles); //等同上一行为Framework重载默认使用swapchain的render target
return pipeline;
} }
bool InitUBO() bool InitUBO()
@ -129,9 +124,6 @@ public:
cam.Refresh(); cam.Refresh();
ubo_camera_info->Write(&cam.info); ubo_camera_info->Write(&cam.info);
RecreatePipeline();
renderable_instance->UpdatePipeline(pipeline);
BuildCommandBuffer(renderable_instance); BuildCommandBuffer(renderable_instance);
} }

View File

@ -58,20 +58,15 @@ private:
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() bool InitMaterial()
{ {
material_instance=db->CreateMaterialInstance(OS_TEXT("res/material/Texture2D")); material_instance=db->CreateMaterialInstance(OS_TEXT("res/material/Texture2D"));
if(!material_instance)return(false); if(!material_instance)return(false);
if(!RecreatePipeline()) // pipeline=db->CreatePipeline(material_instance,sc_render_target,OS_TEXT("res/pipeline/solid2d"));
pipeline=CreatePipeline(material_instance,InlinePipeline::Solid2D,Prim::Triangles); //等同上一行为Framework重载默认使用swapchain的render target
if(!pipeline)
return(false); return(false);
texture=db->LoadTexture2D(OS_TEXT("res/image/lena.Tex2D")); texture=db->LoadTexture2D(OS_TEXT("res/image/lena.Tex2D"));
@ -165,9 +160,6 @@ public:
ubo_camera_info->Write(&cam.info); ubo_camera_info->Write(&cam.info);
RecreatePipeline();
renderable_instance->UpdatePipeline(pipeline);
BuildCommandBuffer(renderable_instance); BuildCommandBuffer(renderable_instance);
} }
};//class TestApp:public VulkanApplicationFramework };//class TestApp:public VulkanApplicationFramework

View File

@ -43,14 +43,6 @@ private:
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() bool InitMaterial()
{ {
material_instance=db->CreateMaterialInstance(OS_TEXT("res/material/VertexColor2D")); material_instance=db->CreateMaterialInstance(OS_TEXT("res/material/VertexColor2D"));
@ -58,7 +50,10 @@ private:
if(!material_instance) if(!material_instance)
return(false); return(false);
return RecreatePipeline(); // pipeline=db->CreatePipeline(material_instance,sc_render_target,OS_TEXT("res/pipeline/solid2d"));
pipeline=CreatePipeline(material_instance,InlinePipeline::Solid2D,Prim::Triangles); //等同上一行为Framework重载默认使用swapchain的render target
return pipeline;
} }
bool InitUBO() bool InitUBO()
@ -142,9 +137,6 @@ public:
cam.Refresh(); cam.Refresh();
ubo_camera_info->Write(&cam.info); ubo_camera_info->Write(&cam.info);
RecreatePipeline();
render_instance->UpdatePipeline(pipeline);
BuildCommandBuffer(render_list); BuildCommandBuffer(render_list);
} }