An object start out with its right vector pointing in the positive x axis in world space, and its up vector pointing in the positive y axis in world space and so on.
At some point in the game the object have an arbitrary rotation. The player now wants to rotate the object around what used to be the objects original right vector. That right vector can now, however, be pointing in a six other directions since the object has been rotated around during the game.
How to rotate the object around the right axis? Do I need to have a vector variable, orgRight, that during start time is set to point to the same direction as the right vector and then constantly update the direction of orgRight to compensate for the rotation of the object, so that orgRight is always pointing in the right direction?
For example, we rotate the object 90 degrees around the forward vector, so now we have to rotate orgRight -90 degrees around the forward vector?