I want to create an initial transform matrix from an orientation quaternion and a position vector.
My initial matrix is in glm format, but I want toconvert the glm matrix to an XMFLOAT4X4 matrix.
glm::mat4 glm_mWorld= glm::toMat4(_qOrientation);
glm_mWorld[3] = glm::vec4(_vPosition);
glm_mWorld = glm::transpose(glm_mWorld);
So how can I load the content of glm_mWorld into an XMFLOAT4X4?
Update: So after suggestion that I use memcpy, I came up with the following:
XMFLOAT4X4 mTransform;
XMFLOAT4 qOrient;
glm::mat4 glm_mWorld = glm::toMat4(_descriptor._qOrientation);
glm_mWorld[3] = glm::vec4(_descriptor._vPosition);
glm_mWorld = glm::transpose(glm_mWorld);
memcpy(&mTransform.m[0][0], &glm_mWorld[0][0], sizeof(glm::mat4));
This results in an error:
glm-0.9.4.3\glm\core\type_vec4.inl(251): error C2440: '<function-style-cast>' : cannot convert from 'const glm::vec3' to 'float'
Also, regarding column major / row major matrices, glm uses column major and XMFLOAT4X4 uses row major, which is why I transpose the glm matrix before attempting to convert it.