迁移Auto_merge_material_instance.cpp到新架构
This commit is contained in:
parent
2138f9046a
commit
5e541e2f46
@ -1 +1 @@
|
|||||||
Subproject commit 76aff5d55628a87baa35498520296d65ab70e995
|
Subproject commit e1155d0374cd187d3e4b74cfa1905c1e1df21167
|
@ -25,20 +25,12 @@ constexpr double TRI_ROTATE_ANGLE=360.0f/DRAW_OBJECT_COUNT;
|
|||||||
|
|
||||||
class TestApp:public WorkObject
|
class TestApp:public WorkObject
|
||||||
{
|
{
|
||||||
Color4f clear_color =Color4f(0.2f,0.2f,0.2f,1.0f);
|
|
||||||
|
|
||||||
private:
|
|
||||||
|
|
||||||
AutoDelete<RenderList> render_list =nullptr;
|
|
||||||
|
|
||||||
SceneNode render_root;
|
|
||||||
|
|
||||||
Material * material =nullptr;
|
Material * material =nullptr;
|
||||||
|
|
||||||
struct
|
struct
|
||||||
{
|
{
|
||||||
MaterialInstance * mi;
|
MaterialInstance * mi;
|
||||||
Mesh * mesh;
|
Mesh * mesh;
|
||||||
}render_obj[DRAW_OBJECT_COUNT]{};
|
}render_obj[DRAW_OBJECT_COUNT]{};
|
||||||
|
|
||||||
Pipeline * pipeline =nullptr;
|
Pipeline * pipeline =nullptr;
|
||||||
@ -89,6 +81,8 @@ private:
|
|||||||
db->Add(prim);
|
db->Add(prim);
|
||||||
|
|
||||||
Matrix4f mat;
|
Matrix4f mat;
|
||||||
|
|
||||||
|
SceneNode *scene_root=GetSceneRoot(); ///<取得场景根节点
|
||||||
|
|
||||||
for(uint i=0;i<DRAW_OBJECT_COUNT;i++)
|
for(uint i=0;i<DRAW_OBJECT_COUNT;i++)
|
||||||
{
|
{
|
||||||
@ -99,13 +93,9 @@ private:
|
|||||||
|
|
||||||
mat=rotate(deg2rad<double>(TRI_ROTATE_ANGLE*i),AxisVector::Z);
|
mat=rotate(deg2rad<double>(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);
|
return(true);
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -115,11 +105,6 @@ public:
|
|||||||
|
|
||||||
bool Init() override
|
bool Init() override
|
||||||
{
|
{
|
||||||
render_list=GetRenderFramework()->CreateRenderList();
|
|
||||||
|
|
||||||
if(!render_list)
|
|
||||||
return(false);
|
|
||||||
|
|
||||||
if(!InitMaterial())
|
if(!InitMaterial())
|
||||||
return(false);
|
return(false);
|
||||||
|
|
||||||
@ -128,15 +113,6 @@ public:
|
|||||||
|
|
||||||
return(true);
|
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
|
};//class TestApp:public WorkObject
|
||||||
|
|
||||||
int os_main(int,os_char **)
|
int os_main(int,os_char **)
|
||||||
|
@ -49,7 +49,7 @@ namespace hgl::graph
|
|||||||
|
|
||||||
void SetClearColor(const Color4f &c){clear_color=c;}
|
void SetClearColor(const Color4f &c){clear_color=c;}
|
||||||
|
|
||||||
bool RenderFrame(); ///<重新重成这一帧的CommandList
|
bool RenderFrame(); ///<重新重成这一帧的CommandList
|
||||||
bool Submit(); ///<提交CommandList到GPU
|
bool Submit(); ///<提交CommandList到GPU
|
||||||
};//class Renderer
|
};//class Renderer
|
||||||
}//namespace hgl::graph
|
}//namespace hgl::graph
|
||||||
|
Loading…
x
Reference in New Issue
Block a user