c++ - Converting glm::mat4 to XMFLOAT4X4 -


i want create initial transform matrix orientation quaternion , position vector.

my initial matrix in glm format, want toconvert glm matrix xmfloat4x4 matrix.

glm::mat4 glm_mworld= glm::tomat4(_qorientation); glm_mworld[3]       = glm::vec4(_vposition);  glm_mworld = glm::transpose(glm_mworld); 

so how can load content of glm_mworld xmfloat4x4?

update: after suggestion use memcpy, came 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 error:

glm-0.9.4.3\glm\core\type_vec4.inl(251): error c2440: '<function-style-cast>' : cannot convert 'const glm::vec3' 'float' 

also, regarding column major / row major matrices, glm uses column major , xmfloat4x4 uses row major, why transpose glm matrix before attempting convert it.


Comments