2 Commits

Author SHA1 Message Date
d577642533 RenderFramework关联default_scene事件传递 2025-07-27 16:47:12 +08:00
510168e912 CreateComponentInfo代码排版 2025-07-27 16:46:35 +08:00
3 changed files with 60 additions and 44 deletions

View File

@@ -2,9 +2,7 @@
#include<hgl/math/Matrix.h>
namespace hgl
{
namespace graph
namespace hgl::graph
{
class SceneNode;
@@ -45,6 +43,4 @@ namespace hgl
mat=m;
}
};//struct CreateComponentInfo
}//namespace graph
}//namespace hgl
}//namespace hgl::graph

View File

@@ -63,6 +63,8 @@ protected: //RenderContext,未来合并成一个RenderContext结构
CameraControl * default_camera_control =nullptr;
Renderer * default_renderer =nullptr;
void OnChangeDefaultScene(Scene *);
void CreateDefaultRenderer();
protected: //EventDispatcher

View File

@@ -134,7 +134,7 @@ bool RenderFramework::Init(uint w,uint h)
render_resource=new RenderResource(device);
default_scene=new Scene;
OnChangeDefaultScene(new Scene);
default_camera=new Camera();
@@ -143,6 +143,24 @@ bool RenderFramework::Init(uint w,uint h)
return(true);
}
void RenderFramework::OnChangeDefaultScene(Scene *s)
{
if(default_scene==s)
return;
if(default_scene)
{
this->RemoveChildDispatcher(&(default_scene->GetEventDispatcher()));
}
if(s)
{
this->AddChildDispatcher(&(s->GetEventDispatcher()));
}
default_scene=s;
}
void RenderFramework::CreateDefaultRenderer()
{
SAFE_CLEAR(default_renderer)