From 5e541e2f46e924b0367f322436774e589e02031f Mon Sep 17 00:00:00 2001 From: hyzboy Date: Fri, 6 Jun 2025 22:20:18 +0800 Subject: [PATCH] =?UTF-8?q?=E8=BF=81=E7=A7=BBAuto=5Fmerge=5Fmaterial=5Fins?= =?UTF-8?q?tance.cpp=E5=88=B0=E6=96=B0=E6=9E=B6=E6=9E=84?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- CMSceneGraph | 2 +- .../Basic/auto_merge_material_instance.cpp | 32 +++---------------- inc/hgl/graph/Renderer.h | 2 +- 3 files changed, 6 insertions(+), 30 deletions(-) diff --git a/CMSceneGraph b/CMSceneGraph index 76aff5d5..e1155d03 160000 --- a/CMSceneGraph +++ b/CMSceneGraph @@ -1 +1 @@ -Subproject commit 76aff5d55628a87baa35498520296d65ab70e995 +Subproject commit e1155d0374cd187d3e4b74cfa1905c1e1df21167 diff --git a/example/Basic/auto_merge_material_instance.cpp b/example/Basic/auto_merge_material_instance.cpp index d578bb91..bb131d15 100644 --- a/example/Basic/auto_merge_material_instance.cpp +++ b/example/Basic/auto_merge_material_instance.cpp @@ -25,20 +25,12 @@ constexpr double TRI_ROTATE_ANGLE=360.0f/DRAW_OBJECT_COUNT; class TestApp:public WorkObject { - Color4f clear_color =Color4f(0.2f,0.2f,0.2f,1.0f); - -private: - - AutoDelete render_list =nullptr; - - SceneNode render_root; - Material * material =nullptr; struct { MaterialInstance * mi; - Mesh * mesh; + Mesh * mesh; }render_obj[DRAW_OBJECT_COUNT]{}; Pipeline * pipeline =nullptr; @@ -89,6 +81,8 @@ private: db->Add(prim); Matrix4f mat; + + SceneNode *scene_root=GetSceneRoot(); ///<取得场景根节点 for(uint i=0;i(TRI_ROTATE_ANGLE*i),AxisVector::Z); - render_root.Add(new SceneNode(mat,render_obj[i].mesh)); + scene_root->Add(new SceneNode(mat,render_obj[i].mesh)); } - render_root.RefreshMatrix(); - - render_list->Expend(&render_root); - return(true); } @@ -115,11 +105,6 @@ public: bool Init() override { - render_list=GetRenderFramework()->CreateRenderList(); - - if(!render_list) - return(false); - if(!InitMaterial()) return(false); @@ -128,15 +113,6 @@ public: return(true); } - - void Render(double delta_time,graph::RenderCmdBuffer *cmd)override - { - cmd->SetClearColor(0,clear_color); - - cmd->BeginRenderPass(); - render_list->Render(cmd); - cmd->EndRenderPass(); - } };//class TestApp:public WorkObject int os_main(int,os_char **) diff --git a/inc/hgl/graph/Renderer.h b/inc/hgl/graph/Renderer.h index 20b5bbfe..9e01408d 100644 --- a/inc/hgl/graph/Renderer.h +++ b/inc/hgl/graph/Renderer.h @@ -49,7 +49,7 @@ namespace hgl::graph void SetClearColor(const Color4f &c){clear_color=c;} - bool RenderFrame(); ///<重新重成这一帧的CommandList + bool RenderFrame(); ///<重新重成这一帧的CommandList bool Submit(); ///<提交CommandList到GPU };//class Renderer }//namespace hgl::graph