update codes for support new SceneNode
This commit is contained in:
parent
4614562929
commit
b9fbab56f1
@ -120,7 +120,7 @@ private:
|
||||
return(nullptr);
|
||||
}
|
||||
|
||||
render_root.CreateSubNode(ri);
|
||||
render_root.Add(new SceneNode(ri));
|
||||
|
||||
return ri;
|
||||
}
|
||||
@ -163,7 +163,7 @@ private:
|
||||
{
|
||||
Add(prim_plane_grid,mi_plane_grid,pipeline_plane_grid);
|
||||
|
||||
render_root.CreateSubNode(ro_billboard);
|
||||
render_root.Add(new SceneNode(ro_billboard));
|
||||
|
||||
camera->pos=Vector3f(32,32,32);
|
||||
camera_control->SetTarget(Vector3f(0,0,0));
|
||||
|
@ -96,6 +96,8 @@ private:
|
||||
return(false);
|
||||
|
||||
db->Add(prim);
|
||||
|
||||
Matrix4f mat;
|
||||
|
||||
for(uint i=0;i<DRAW_OBJECT_COUNT;i++)
|
||||
{
|
||||
@ -104,7 +106,9 @@ private:
|
||||
if(!render_obj[i].r)
|
||||
return(false);
|
||||
|
||||
render_root.CreateSubNode(rotate(deg2rad<double>(double(360/DRAW_OBJECT_COUNT*i)),Vector3f(0,0,1)),render_obj[i].r);
|
||||
mat=rotate(deg2rad<double>(double(360/DRAW_OBJECT_COUNT*i)),AxisVector::Z);
|
||||
|
||||
render_root.Add(new SceneNode(mat,render_obj[i].r));
|
||||
}
|
||||
|
||||
render_root.RefreshMatrix();
|
||||
|
@ -84,7 +84,7 @@ bool InitGizmoMoveStaticMesh()
|
||||
{
|
||||
SceneNode *root_node=new SceneNode();
|
||||
|
||||
root_node->CreateSubNode(sphere);
|
||||
root_node->Add(new SceneNode(sphere));
|
||||
|
||||
{
|
||||
Transform tm;
|
||||
@ -96,30 +96,30 @@ bool InitGizmoMoveStaticMesh()
|
||||
{
|
||||
tm.SetScale(cylinder_scale);
|
||||
tm.SetTranslation(0,0,GIZMO_CYLINDER_OFFSET);
|
||||
root_node->CreateSubNode(tm,cylinder[2]); //Z 向上圆柱
|
||||
root_node->Add(new SceneNode(tm,cylinder[2])); //Z 向上圆柱
|
||||
|
||||
tm.SetScale(one_scale);
|
||||
tm.SetTranslation(0,0,GIZMO_CONE_OFFSET);
|
||||
root_node->CreateSubNode(tm,cone[2]); //Z 向上圆锥
|
||||
root_node->Add(new SceneNode(tm,cone[2])); //Z 向上圆锥
|
||||
|
||||
tm.SetScale(circle_scale);
|
||||
tm.SetTranslation(GIZMO_TWO_AXIS_OFFSET,GIZMO_TWO_AXIS_OFFSET,0);
|
||||
root_node->CreateSubNode(tm,circle[2]);
|
||||
root_node->Add(new SceneNode(tm,circle[2]));
|
||||
}
|
||||
|
||||
{
|
||||
tm.SetScale(cylinder_scale);
|
||||
tm.SetRotation(AxisVector::Y,90);
|
||||
tm.SetTranslation(GIZMO_CYLINDER_OFFSET,0,0);
|
||||
root_node->CreateSubNode(tm,cylinder[0]); //X 向右圆柱
|
||||
root_node->Add(new SceneNode(tm,cylinder[0])); //X 向右圆柱
|
||||
|
||||
tm.SetScale(one_scale);
|
||||
tm.SetTranslation(GIZMO_CONE_OFFSET,0,0);
|
||||
root_node->CreateSubNode(tm,cone[0]); //X 向右圆锥
|
||||
root_node->Add(new SceneNode(tm,cone[0])); //X 向右圆锥
|
||||
|
||||
tm.SetScale(circle_scale);
|
||||
tm.SetTranslation(0,GIZMO_TWO_AXIS_OFFSET,GIZMO_TWO_AXIS_OFFSET);
|
||||
root_node->CreateSubNode(tm,circle[0]);
|
||||
root_node->Add(new SceneNode(tm,circle[0]));
|
||||
}
|
||||
|
||||
{
|
||||
@ -127,15 +127,15 @@ bool InitGizmoMoveStaticMesh()
|
||||
tm.SetRotation(AxisVector::X,-90);
|
||||
tm.SetTranslation(0,GIZMO_CYLINDER_OFFSET,0);
|
||||
|
||||
root_node->CreateSubNode(tm,cylinder[1]); //Y 向前圆柱
|
||||
root_node->Add(new SceneNode(tm,cylinder[1])); //Y 向前圆柱
|
||||
|
||||
tm.SetScale(one_scale);
|
||||
tm.SetTranslation(0,GIZMO_CONE_OFFSET,0);
|
||||
root_node->CreateSubNode(tm,cone[1]); //Y 向前圆锥
|
||||
root_node->Add(new SceneNode(tm,cone[1])); //Y 向前圆锥
|
||||
|
||||
tm.SetScale(circle_scale);
|
||||
tm.SetTranslation(GIZMO_TWO_AXIS_OFFSET,0,GIZMO_TWO_AXIS_OFFSET);
|
||||
root_node->CreateSubNode(tm,circle[1]);
|
||||
root_node->Add(new SceneNode(tm,circle[1]));
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -45,13 +45,13 @@ bool InitGizmoRotateStaticMesh()
|
||||
|
||||
tm.SetScale(GIZMO_ARROW_LENGTH);
|
||||
|
||||
root_node->CreateSubNode(tm,torus[0]);
|
||||
root_node->Add(new SceneNode(tm,torus[0]));
|
||||
|
||||
tm.SetRotation(AXIS::Z,90);
|
||||
root_node->CreateSubNode(tm,torus[1]);
|
||||
root_node->Add(new SceneNode(tm,torus[1]));
|
||||
|
||||
tm.SetRotation(AXIS::Y,90);
|
||||
root_node->CreateSubNode(tm,torus[2]);
|
||||
root_node->Add(new SceneNode(tm,torus[2]));
|
||||
}
|
||||
|
||||
{
|
||||
|
@ -84,7 +84,7 @@ bool InitGizmoScaleStaticMesh()
|
||||
{
|
||||
SceneNode *root_node=new SceneNode();
|
||||
|
||||
root_node->CreateSubNode(scale(GIZMO_CENTER_SPHERE_RADIUS*2),center_cube);
|
||||
root_node->Add(new SceneNode(scale(GIZMO_CENTER_SPHERE_RADIUS*2),center_cube));
|
||||
|
||||
{
|
||||
Transform tm;
|
||||
@ -96,30 +96,30 @@ bool InitGizmoScaleStaticMesh()
|
||||
{
|
||||
tm.SetScale(cylinder_scale);
|
||||
tm.SetTranslation(0,0,GIZMO_CYLINDER_OFFSET);
|
||||
root_node->CreateSubNode(tm,cylinder[2]); //Z 向上圆柱
|
||||
root_node->Add(new SceneNode(tm,cylinder[2])); //Z 向上圆柱
|
||||
|
||||
tm.SetScale(one_scale);
|
||||
tm.SetTranslation(0,0,GIZMO_CONE_OFFSET);
|
||||
root_node->CreateSubNode(tm,cube[2]); //Z 向上圆锥
|
||||
root_node->Add(new SceneNode(tm,cube[2])); //Z 向上圆锥
|
||||
|
||||
tm.SetScale(plane_scale);
|
||||
tm.SetTranslation(GIZMO_TWO_AXIS_OFFSET,GIZMO_TWO_AXIS_OFFSET,0);
|
||||
root_node->CreateSubNode(tm,square[2]);
|
||||
root_node->Add(new SceneNode(tm,square[2]));
|
||||
}
|
||||
|
||||
{
|
||||
tm.SetScale(cylinder_scale);
|
||||
tm.SetRotation(AxisVector::Y,90);
|
||||
tm.SetTranslation(GIZMO_CYLINDER_OFFSET,0,0);
|
||||
root_node->CreateSubNode(tm,cylinder[0]); //X 向右圆柱
|
||||
root_node->Add(new SceneNode(tm,cylinder[0])); //X 向右圆柱
|
||||
|
||||
tm.SetScale(one_scale);
|
||||
tm.SetTranslation(GIZMO_CONE_OFFSET,0,0);
|
||||
root_node->CreateSubNode(tm,cube[0]); //X 向右圆锥
|
||||
root_node->Add(new SceneNode(tm,cube[0])); //X 向右圆锥
|
||||
|
||||
tm.SetScale(plane_scale);
|
||||
tm.SetTranslation(0,GIZMO_TWO_AXIS_OFFSET,GIZMO_TWO_AXIS_OFFSET);
|
||||
root_node->CreateSubNode(tm,square[0]);
|
||||
root_node->Add(new SceneNode(tm,square[0]));
|
||||
}
|
||||
|
||||
{
|
||||
@ -127,15 +127,15 @@ bool InitGizmoScaleStaticMesh()
|
||||
tm.SetRotation(AxisVector::X,-90);
|
||||
tm.SetTranslation(0,GIZMO_CYLINDER_OFFSET,0);
|
||||
|
||||
root_node->CreateSubNode(tm,cylinder[1]); //Y 向前圆柱
|
||||
root_node->Add(new SceneNode(tm,cylinder[1])); //Y 向前圆柱
|
||||
|
||||
tm.SetScale(one_scale);
|
||||
tm.SetTranslation(0,GIZMO_CONE_OFFSET,0);
|
||||
root_node->CreateSubNode(tm,cube[1]); //Y 向前圆锥
|
||||
root_node->Add(new SceneNode(tm,cube[1])); //Y 向前圆锥
|
||||
|
||||
tm.SetScale(plane_scale);
|
||||
tm.SetTranslation(GIZMO_TWO_AXIS_OFFSET,0,GIZMO_TWO_AXIS_OFFSET);
|
||||
root_node->CreateSubNode(tm,square[1]);
|
||||
root_node->Add(new SceneNode(tm,square[1]));
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -81,8 +81,8 @@ private:
|
||||
|
||||
root.Clear();
|
||||
|
||||
root.CreateSubNode(sm_move->GetScene());
|
||||
root.CreateSubNode(sm_rotate->GetScene());
|
||||
//root.Add(Duplication(sm_move->GetScene()));
|
||||
root.Add(Duplication(sm_rotate->GetScene()));
|
||||
//root.CreateSubNode(sm_scale->GetScene());
|
||||
|
||||
root.RefreshMatrix();
|
||||
|
@ -81,7 +81,7 @@ private:
|
||||
if(!ri)
|
||||
return(nullptr);
|
||||
|
||||
render_root.CreateSubNode(mat,ri);
|
||||
render_root.Add(new SceneNode(mat,ri));
|
||||
|
||||
return ri;
|
||||
}
|
||||
|
@ -102,7 +102,7 @@ private:
|
||||
return(nullptr);
|
||||
}
|
||||
|
||||
render_root.CreateSubNode(ri);
|
||||
render_root.Add(new SceneNode(ri));
|
||||
|
||||
return ri;
|
||||
}
|
||||
|
@ -98,7 +98,7 @@ namespace hgl
|
||||
// virtual const AABB & GetWorldBoundingBox ()const{return WorldBoundingBox;} ///<取得世界坐标绑定盒
|
||||
};//class SceneNode
|
||||
|
||||
SceneNode *Duplication(const SceneNode *); ///<复制一个场景节点
|
||||
SceneNode *Duplication(SceneNode *); ///<复制一个场景节点
|
||||
}//namespace graph
|
||||
}//namespace hgl
|
||||
#endif//HGL_GRAPH_SCENE_NODE_INCLUDE
|
||||
|
Loading…
x
Reference in New Issue
Block a user