Allow nodes ignoring parent transformations with ESNUA_RELATIVE
New AbsPosUpdateBehavior which makes updateAbsolutePosition calls behave as if a node had no parent. Allows for micro optimizations in cases where we have non-moving root node (all scenenodes are always added to the SceneManager which is generally not moved but it's transformation is still multiplied each frame for each node) As a side-effect this also allows abusing the SceneManager to group objects without affecting transformations. No real extra cost since I added ESNUA_TRANSFORM_POSITION already. Thought turns out those matrix transformations are so fast that I also didn't noticed any difference in tests with > 20.000 nodes. git-svn-id: svn://svn.code.sf.net/p/irrlicht/code/trunk@6481 dfc29bdd-3216-0410-991c-e03cc46cb475
This commit is contained in:
@@ -17,7 +17,11 @@ namespace scene
|
||||
//! Only transform the position of the node transformation matrix
|
||||
//! by the parent transformation matrix.
|
||||
//! Parent will not affect the rotation/scale of the node transformation.
|
||||
ESNUA_TRANSFORM_POSITION
|
||||
ESNUA_TRANSFORM_POSITION,
|
||||
|
||||
//! Use the relative matrix as absolute transformation matrix
|
||||
//! Parent node transformation is ignored just like when the parent is set to 0
|
||||
ESNUA_RELATIVE
|
||||
};
|
||||
|
||||
//! Names for culling type
|
||||
@@ -25,6 +29,7 @@ namespace scene
|
||||
{
|
||||
"matrix",
|
||||
"pos",
|
||||
"relative",
|
||||
0
|
||||
};
|
||||
|
||||
|
Reference in New Issue
Block a user