Used Transform instead of Matrix4f in SceneOrient, MaterialRenderList/RenderAssignBuffer supports updating the L2WMatrix of only the changed objects
This commit is contained in:
@@ -33,8 +33,8 @@ namespace hgl
|
||||
SceneNode()=default;
|
||||
SceneNode(SceneNode *);
|
||||
SceneNode( Renderable *ri ) {render_obj=ri;}
|
||||
SceneNode(const Matrix4f &mat ):SceneOrient(mat) {}
|
||||
SceneNode(const Matrix4f &mat, Renderable *ri ):SceneOrient(mat) {render_obj=ri;}
|
||||
SceneNode(const Transform &tf ):SceneOrient(tf) {}
|
||||
SceneNode(const Transform &tf, Renderable *ri ):SceneOrient(tf) {render_obj=ri;}
|
||||
|
||||
virtual ~SceneNode()=default;
|
||||
|
||||
@@ -120,7 +120,7 @@ namespace hgl
|
||||
|
||||
virtual void SetBoundingBox (const AABB &bb){BoundingBox=bb;} ///<设置绑定盒
|
||||
|
||||
virtual void RefreshMatrix (const Matrix4f *mat=nullptr); ///<刷新世界变换矩阵
|
||||
virtual bool RefreshTransform (const Transform &tf=IdentityTransform) override; ///<刷新世界变换
|
||||
virtual void RefreshBoundingBox (); ///<刷新绑定盒
|
||||
|
||||
virtual const AABB & GetBoundingBox ()const{return BoundingBox;} ///<取得绑定盒
|
||||
|
Reference in New Issue
Block a user