11

glm::mat4 マトリックスがあり、値を double[16] 配列に取得する必要があります。この問題を解決する方法についてのアイデアはありますか??

4

2 に答える 2

27
glm::mat4 pMat4;  // your matrix

double dArray[16] = {0.0};

const float *pSource = (const float*)glm::value_ptr(pMat4);
for (int i = 0; i < 16; ++i)
    dArray[i] = pSource[i];
于 2013-09-19T08:52:57.053 に答える
0

&mat[0][0]も動作します。glmドキュメントOpenGL 相互運用性セクションから:

glm::vec4 v(0.0f);
glm::mat4 m(1.0f);
...
glUniform3fv(uniVec, 1, glm::value_ptr(&v[0]));
glUniformMatrix4fv(uniMat, 1, GL_FALSE, &m[0][0]);
于 2021-08-06T06:47:03.317 に答える