RenderFramework关联default_scene事件传递
This commit is contained in:
@@ -63,6 +63,8 @@ protected: //RenderContext,未来合并成一个RenderContext结构
|
|||||||
CameraControl * default_camera_control =nullptr;
|
CameraControl * default_camera_control =nullptr;
|
||||||
Renderer * default_renderer =nullptr;
|
Renderer * default_renderer =nullptr;
|
||||||
|
|
||||||
|
void OnChangeDefaultScene(Scene *);
|
||||||
|
|
||||||
void CreateDefaultRenderer();
|
void CreateDefaultRenderer();
|
||||||
|
|
||||||
protected: //EventDispatcher
|
protected: //EventDispatcher
|
||||||
|
@@ -134,7 +134,7 @@ bool RenderFramework::Init(uint w,uint h)
|
|||||||
|
|
||||||
render_resource=new RenderResource(device);
|
render_resource=new RenderResource(device);
|
||||||
|
|
||||||
default_scene=new Scene;
|
OnChangeDefaultScene(new Scene);
|
||||||
|
|
||||||
default_camera=new Camera();
|
default_camera=new Camera();
|
||||||
|
|
||||||
@@ -143,6 +143,24 @@ bool RenderFramework::Init(uint w,uint h)
|
|||||||
return(true);
|
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()
|
void RenderFramework::CreateDefaultRenderer()
|
||||||
{
|
{
|
||||||
SAFE_CLEAR(default_renderer)
|
SAFE_CLEAR(default_renderer)
|
||||||
@@ -246,11 +264,11 @@ graph::Primitive *RenderFramework::CreatePrimitive( const AnsiString &name,
|
|||||||
return prim;
|
return prim;
|
||||||
}
|
}
|
||||||
|
|
||||||
graph::Mesh *RenderFramework::CreateMesh( const AnsiString &name,
|
graph::Mesh *RenderFramework::CreateMesh( const AnsiString &name,
|
||||||
const uint32_t vertices_count,
|
const uint32_t vertices_count,
|
||||||
graph::MaterialInstance *mi,
|
graph::MaterialInstance *mi,
|
||||||
graph::Pipeline *pipeline,
|
graph::Pipeline *pipeline,
|
||||||
const std::initializer_list<graph::VertexAttribDataPtr> &vad_list)
|
const std::initializer_list<graph::VertexAttribDataPtr> &vad_list)
|
||||||
{
|
{
|
||||||
auto *prim=this->CreatePrimitive(name,vertices_count,mi->GetVIL(),vad_list);
|
auto *prim=this->CreatePrimitive(name,vertices_count,mi->GetVIL(),vad_list);
|
||||||
|
|
||||||
|
Reference in New Issue
Block a user