From 3117b9673e38a07689122b9a6544ac9d619507cd Mon Sep 17 00:00:00 2001 From: hyzboy Date: Wed, 22 Sep 2021 17:22:17 +0800 Subject: [PATCH] Fixed samples 00-06 --- example/Vulkan/FragCoordTest.cpp | 14 +++----------- example/Vulkan/Geometry3D.cpp | 24 ++++++------------------ example/Vulkan/InlineGeometryScene.cpp | 2 -- example/Vulkan/first_triangle.cpp | 15 ++++----------- example/Vulkan/indices_rect.cpp | 16 ++++------------ example/Vulkan/texture_rect.cpp | 16 ++++------------ example/Vulkan/two_triangle.cpp | 16 ++++------------ 7 files changed, 25 insertions(+), 78 deletions(-) diff --git a/example/Vulkan/FragCoordTest.cpp b/example/Vulkan/FragCoordTest.cpp index 988f7264..97439fb5 100644 --- a/example/Vulkan/FragCoordTest.cpp +++ b/example/Vulkan/FragCoordTest.cpp @@ -34,13 +34,6 @@ private: private: - bool RecreatePipeline() - { - pipeline=CreatePipeline(material_instance,InlinePipeline::Solid2D,Prim::TriangleStrip); - - return pipeline; - } - bool InitMaterial() { material_instance=db->CreateMaterialInstance(OS_TEXT("res/material/FragColor")); @@ -48,7 +41,9 @@ private: if(!material_instance) return(false); - return RecreatePipeline(); + pipeline=CreatePipeline(material_instance,InlinePipeline::Solid2D,Prim::TriangleStrip); + + return pipeline; } bool InitUBO() @@ -118,9 +113,6 @@ public: cam.Refresh(); ubo_camera_info->Write(&cam.info); - - RecreatePipeline(); - renderable_instance->UpdatePipeline(pipeline); BuildCommandBuffer(renderable_instance); } diff --git a/example/Vulkan/Geometry3D.cpp b/example/Vulkan/Geometry3D.cpp index 82a8760f..4a2a2019 100644 --- a/example/Vulkan/Geometry3D.cpp +++ b/example/Vulkan/Geometry3D.cpp @@ -29,17 +29,9 @@ private: Pipeline * pipeline =nullptr; Renderable * ro_plane_grid[3]; - RenderableInstance *ri_plane_grid[3]; private: - bool RecreatePipeline() - { - pipeline=CreatePipeline(material_instance,InlinePipeline::Solid3D,Prim::Lines); - - return pipeline; - } - bool InitMDP() { material=db->CreateMaterial(OS_TEXT("res/material/VertexColor3D")); @@ -47,8 +39,9 @@ private: material_instance=db->CreateMaterialInstance(material); if(!material_instance)return(false); - - if(!RecreatePipeline()) + + pipeline=CreatePipeline(material_instance,InlinePipeline::Solid3D,Prim::Lines); + if(!pipeline) return(false); { @@ -108,9 +101,9 @@ private: bool InitScene() { - ri_plane_grid[0]=Add(ro_plane_grid[0],Matrix4f::identity); - ri_plane_grid[1]=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[0],Matrix4f::identity); + Add(ro_plane_grid[1],rotate(HGL_RAD_90,0,1,0)); + Add(ro_plane_grid[2],rotate(HGL_RAD_90,1,0,0)); render_root.RefreshMatrix(); render_list->Expend(camera->info,&render_root); @@ -152,11 +145,6 @@ public: { CameraAppFramework::Resize(w,h); - RecreatePipeline(); - - for(int i=0;i<3;i++) - ri_plane_grid[i]->UpdatePipeline(pipeline); - VulkanApplicationFramework::BuildCommandBuffer(render_list); } };//class TestApp:public CameraAppFramework diff --git a/example/Vulkan/InlineGeometryScene.cpp b/example/Vulkan/InlineGeometryScene.cpp index 4f2c266d..e145c914 100644 --- a/example/Vulkan/InlineGeometryScene.cpp +++ b/example/Vulkan/InlineGeometryScene.cpp @@ -274,8 +274,6 @@ public: render_list.Begin(); render_root.ExpendToList(&render_list); render_list.End(); - - VulkanApplicationFramework::BuildCommandBuffer(index,&render_list); } diff --git a/example/Vulkan/first_triangle.cpp b/example/Vulkan/first_triangle.cpp index 96143294..77db8adf 100644 --- a/example/Vulkan/first_triangle.cpp +++ b/example/Vulkan/first_triangle.cpp @@ -41,14 +41,6 @@ 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() { material_instance=db->CreateMaterialInstance(OS_TEXT("res/material/VertexColor2D")); @@ -56,7 +48,10 @@ private: 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() @@ -130,8 +125,6 @@ public: ubo_camera_info->Write(&cam.info); - RecreatePipeline(); - render_instance->UpdatePipeline(pipeline); BuildCommandBuffer(render_instance); } };//class TestApp:public VulkanApplicationFramework diff --git a/example/Vulkan/indices_rect.cpp b/example/Vulkan/indices_rect.cpp index 4c438383..90f7022b 100644 --- a/example/Vulkan/indices_rect.cpp +++ b/example/Vulkan/indices_rect.cpp @@ -44,20 +44,15 @@ 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/FragColor")); 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() @@ -129,9 +124,6 @@ public: cam.Refresh(); ubo_camera_info->Write(&cam.info); - - RecreatePipeline(); - renderable_instance->UpdatePipeline(pipeline); BuildCommandBuffer(renderable_instance); } diff --git a/example/Vulkan/texture_rect.cpp b/example/Vulkan/texture_rect.cpp index adb41090..d9576474 100644 --- a/example/Vulkan/texture_rect.cpp +++ b/example/Vulkan/texture_rect.cpp @@ -58,20 +58,15 @@ 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/Texture2D")); 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); texture=db->LoadTexture2D(OS_TEXT("res/image/lena.Tex2D")); @@ -165,9 +160,6 @@ public: ubo_camera_info->Write(&cam.info); - RecreatePipeline(); - renderable_instance->UpdatePipeline(pipeline); - BuildCommandBuffer(renderable_instance); } };//class TestApp:public VulkanApplicationFramework diff --git a/example/Vulkan/two_triangle.cpp b/example/Vulkan/two_triangle.cpp index 5c933835..5e40c71b 100644 --- a/example/Vulkan/two_triangle.cpp +++ b/example/Vulkan/two_triangle.cpp @@ -43,14 +43,6 @@ 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")); @@ -58,7 +50,10 @@ private: 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() @@ -142,9 +137,6 @@ public: cam.Refresh(); ubo_camera_info->Write(&cam.info); - - RecreatePipeline(); - render_instance->UpdatePipeline(pipeline); BuildCommandBuffer(render_list); }