I have been attempting to get rotation working and it seems to work, my issue occurs when I then try to move the object, I was expecting the axis of the object to rotate with the mesh but instead it keeps the global axis and continues to move the object on that axis. Is my understanding of rotation flawed? or is it the code that is causing this to occur, also if my understanding is the issue is there a way to translate the objects axis with the object. my code is as follows.
Projection= glm::perspective(45.f, 4.0f / 3.0f, 0.1f, 100.0f);
//position and direction are calculated based on mouse position
View = glm::lookAt(
position,
position+direction,
up
);
glm::mat4 myMatrix = glm::translate(x,y,z);
glm::mat4 myScalingMatrix = glm::scale(0.2f, 0.2f ,0.2f);
glm::vec3 myRotationAxis( 0, 1, 0);
glm::mat4 tempModel = glm::mat4(1.f);
glm::mat4 myRotationMatrix =glm::rotate( tempModel,45.f, myRotationAxis );
glm::mat4 Model= myMatrix* myRotationMatrix *myScalingMatrix;
glm::mat4 MVP = Projection* View * Model;