Ejemplo n.º 1
0
inline void UpdateRootNodeTransformValues( Layer& rootNode, int nodeDirtyFlags, BufferIndex updateBufferIndex )
{
  // If the transform values need to be reinherited
  if ( nodeDirtyFlags & TransformFlag )
  {
    rootNode.SetWorldPosition( updateBufferIndex, rootNode.GetPosition( updateBufferIndex ) );
    rootNode.SetWorldRotation( updateBufferIndex, rootNode.GetRotation( updateBufferIndex ) );
    rootNode.SetWorldScale   ( updateBufferIndex, rootNode.GetScale   ( updateBufferIndex ) );
  }
  else
  {
    // Copy previous value, in case they changed in the previous frame
    rootNode.CopyPreviousWorldRotation( updateBufferIndex );
    rootNode.CopyPreviousWorldScale( updateBufferIndex );
    rootNode.CopyPreviousWorldPosition( updateBufferIndex );
  }
}