如何将“特征矩阵”发送到 GLSL? 例如这个:
// Set up the model and projection matrix
Eigen::Matrix<GLfloat,4,4> projection_matrix;
projection_matrix = frustum(-1.0f, 1.0f, -aspect, aspect, 1.0f, 500.0f);
glUniformMatrix4fv(render_projection_matrix_loc, 1, GL_FALSE, &projection_matrix.data()[0]);
我用这种方式(matrix.date()[0])
寻找uBLAS,但Eigen 不是uBLAS。我该怎么做?
最佳答案
只需调用 .data() 函数:
glUniformMatrix4fv(render_projection_matrix_loc, 1, GL_FALSE, projection_matrix.data());
您可能还对 <unsupported/Eigen/OpenGLSupport>
感兴趣允许您编写的模块:
glUniform(render_projection_matrix_loc, projection_matrix);
同时处理维度、标量类型、存储布局等。例如,它还适用于表达式:
glUniform(render_projection_matrix_loc, 2*projection_matrix.tranpose());
关于c++ - 如何将特征矩阵发送到 GLSL?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20324447/