Transformar el modelo Matriz

Es fácil configurar ViewMatrix con glm:

glm::lookAt(Position, Direction, UpVector);

pero si trato de usar la función con modelMatrix, obtendré valores confusos (el modelo no está en la posición correcta y la rotación también parece incorrecta). Solo quiero configurar un objeto de la misma manera que configurar la cámara. ¿Puedo usar la función lookAt y hacer algunos cambios después? ¿O tengo que programar una función propia para eso? Y si es así, ¿cómo?

Arreglé la posición con esto:

m_Orientation = glm::lookAtLH(Position, Direction, UpVector);
m_Orientation[3][0] = -m_Orientation[3][0];
m_Orientation[3][1] = -m_Orientation[3][1];
m_Orientation[3][2] = -m_Orientation[3][2];

También dentro del vertexshader utilizo esto:

gl_Position = CameraMatrix * ModelMatrix * Pos;

donde CameraMatrix es viewProjectionMatrix, ModelMatrix (mi problema) y Pos es la posición de mi vértice en el espacio modelo

Respuestas a la pregunta(1)

Su respuesta a la pregunta