[OK] AutoInstance 范例完成迁移并测试成功。新结构下不再需要自己管理RenderList/SceneRoot。接下来请迁移其它范例。
This commit is contained in:
@@ -29,14 +29,8 @@ constexpr uint8 color_data[VERTEX_COUNT][4]=
|
||||
|
||||
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;
|
||||
|
||||
MaterialInstance * material_instance =nullptr;
|
||||
Mesh * render_obj =nullptr;
|
||||
|
||||
@@ -80,19 +74,17 @@ private:
|
||||
|
||||
double rad;
|
||||
Matrix4f mat;
|
||||
|
||||
SceneNode *scene_root=GetSceneRoot(); ///<取得场景根节点
|
||||
|
||||
for(uint i=0;i<TRIANGLE_NUMBER;i++)
|
||||
{
|
||||
rad=deg2rad<double>((360.0f/double(TRIANGLE_NUMBER))*i); //这里一定要加<float>或<float>,否则结果用int保存会出现问题
|
||||
mat=rotate(rad,Vector3f(0,0,1));
|
||||
|
||||
render_root.Add(new SceneNode(mat,render_obj));
|
||||
scene_root->Add(new SceneNode(mat,render_obj));
|
||||
}
|
||||
|
||||
render_root.RefreshMatrix();
|
||||
|
||||
render_list->Expend(&render_root);
|
||||
|
||||
return(true);
|
||||
}
|
||||
|
||||
@@ -102,10 +94,7 @@ public:
|
||||
|
||||
bool Init() override
|
||||
{
|
||||
render_list=GetRenderFramework()->CreateRenderList();
|
||||
|
||||
if(!render_list)
|
||||
return(false);
|
||||
GetRenderer()->SetClearColor(Color4f(0.2f,0.2f,0.2f,1.0f));
|
||||
|
||||
if(!InitMaterial())
|
||||
return(false);
|
||||
@@ -115,15 +104,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 **)
|
||||
|
Reference in New Issue
Block a user