【发布时间】:2013-09-19 08:47:05
【问题描述】:
我有一个 glm::mat4 矩阵,我需要将这些值放入一个 double[16] 数组中。关于如何解决这个问题的任何想法??
【问题讨论】:
标签: c++ arrays matrix glm-math
我有一个 glm::mat4 矩阵,我需要将这些值放入一个 double[16] 数组中。关于如何解决这个问题的任何想法??
【问题讨论】:
标签: c++ arrays matrix glm-math
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];
【讨论】:
float[16] 变成mat4)?
glm::make_mat4x4()。签出this。
&mat[0][0] 也可以。来自 glm documentation 中的 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]);
【讨论】: