各范例迁移到新的CreateComponent调用

This commit is contained in:
hyzboy 2025-06-25 02:05:57 +08:00
parent 27e5d0bdca
commit e2a61e175f
7 changed files with 21 additions and 16 deletions

View File

@ -150,10 +150,10 @@ private:
bool InitScene() bool InitScene()
{ {
SceneNode *scene_root=GetSceneRoot(); //取得缺省场景根节点 CreateComponentInfo cci(GetSceneRoot());
CreateComponent<MeshComponent>(scene_root,db->CreateMesh(prim_plane_grid,mi_plane_grid,pipeline_plane_grid)); CreateComponent<MeshComponent>(&cci,db->CreateMesh(prim_plane_grid,mi_plane_grid,pipeline_plane_grid));
CreateComponent<MeshComponent>(scene_root,ro_billboard); CreateComponent<MeshComponent>(&cci,ro_billboard);
CameraControl *camera_control=GetCameraControl(); CameraControl *camera_control=GetCameraControl();

View File

@ -74,16 +74,15 @@ private:
return(false); return(false);
double rad; double rad;
Matrix4f mat;
SceneNode *scene_root=GetSceneRoot(); ///<取得场景根节点 CreateComponentInfo cci(GetSceneRoot());
for(uint i=0;i<TRIANGLE_NUMBER;i++) for(uint i=0;i<TRIANGLE_NUMBER;i++)
{ {
rad=deg2rad<double>((360.0f/double(TRIANGLE_NUMBER))*i); //这里一定要加<double>或<float>否则结果用int保存会出现问题 rad=deg2rad<double>((360.0f/double(TRIANGLE_NUMBER))*i); //这里一定要加<double>或<float>否则结果用int保存会出现问题
mat=rotate(rad,Vector3f(0,0,1)); cci.mat=rotate(rad,Vector3f(0,0,1));
CreateComponent<MeshComponent>(mat,scene_root,render_obj); CreateComponent<MeshComponent>(&cci,render_obj);
} }
return(true); return(true);

View File

@ -81,9 +81,7 @@ private:
db->Add(prim); db->Add(prim);
Matrix4f mat; CreateComponentInfo cci(GetSceneRoot());
SceneNode *scene_root=GetSceneRoot(); ///<取得场景根节点
for(uint i=0;i<DRAW_OBJECT_COUNT;i++) for(uint i=0;i<DRAW_OBJECT_COUNT;i++)
{ {
@ -92,9 +90,9 @@ private:
if(!render_obj[i].mesh) if(!render_obj[i].mesh)
return(false); return(false);
mat=rotate(deg2rad<double>(TRI_ROTATE_ANGLE*i),AxisVector::Z); cci.mat=rotate(deg2rad<double>(TRI_ROTATE_ANGLE*i),AxisVector::Z);
CreateComponent<MeshComponent>(mat,scene_root,render_obj[i].mesh); CreateComponent<MeshComponent>(&cci,render_obj[i].mesh);
} }
return(true); return(true);

View File

@ -90,7 +90,9 @@ private:
if(!mesh_triangle) if(!mesh_triangle)
return(false); return(false);
return CreateComponent<MeshComponent>(GetSceneRoot(),mesh_triangle); //创建一个静态网格组件 CreateComponentInfo cci(GetSceneRoot());
return CreateComponent<MeshComponent>(&cci,mesh_triangle); //创建一个静态网格组件
} }
public: public:

View File

@ -84,7 +84,9 @@ private:
if(!ri) if(!ri)
return; return;
CreateComponent<MeshComponent>(mat,parent_node,ri); CreateComponentInfo cci(parent_node,mat);
CreateComponent<MeshComponent>(&cci,ri);
} }
bool InitScene() bool InitScene()

View File

@ -101,7 +101,9 @@ private:
return(nullptr); return(nullptr);
} }
CreateComponent<MeshComponent>(parent_node,ri); CreateComponentInfo cci(parent_node);
CreateComponent<MeshComponent>(&cci,ri);
return ri; return ri;
} }

View File

@ -58,7 +58,9 @@ private:
{ {
Mesh *ri=db->CreateMesh(prim_axis,material_instance,pipeline); Mesh *ri=db->CreateMesh(prim_axis,material_instance,pipeline);
CreateComponent<MeshComponent>(GetSceneRoot(),ri); CreateComponentInfo cci(GetSceneRoot());
CreateComponent<MeshComponent>(&cci,ri);
CameraControl *camera_control=GetCameraControl(); CameraControl *camera_control=GetCameraControl();