I have an object which I'm trying to apply some transformation. For example, with something like an airplane. If I translate the object, it translates normally. However, if I try rotating it at its current position after translating it, it still rotates around the initial origin.
I don't really know if the order of my transformation matrix is the issue.
m_Model = mat4(1.f);
//m_Model = translate(m_Model, -this->position);
m_Model = rotate(m_Model, radians(this->rotation.x), vec3(1.f, 0.f, 0.f));
m_Model = rotate(m_Model, radians(this->rotation.y), vec3(0.f, 1.f, 0.f));
m_Model = rotate(m_Model, radians(this->rotation.z), vec3(0.f, 0.f, 1.f));
m_Model = translate(m_Model, this->position);
m_Model = glm::scale(m_Model, this->scale);