openGL在将参数传递给要绘制的函数时不绘制网格

openGL not drawing mesh when I pass parameters to a function to draw

本文关键字:绘制 函数 网格 参数传递 openGL      更新时间:2023-10-16

所以我是一个openGL初学者,并试图递归地绘制"骨头"。

我可以在我的"do"循环中很好地绘制我的网格,但是当我尝试将"Bone"对象传递给函数以绘制网格时,它不会绘制?

void drawBone(Bone &bone, mat4 ProjectionMatrix, mat4 ViewMatrix)
{
    ModelMatrix = bone.getBoneModel();
    MVP = ProjectionMatrix * ViewMatrix * ModelMatrix;
    glUniformMatrix4fv(MatrixID, 1, GL_FALSE, &MVP[0][0]);
    glDrawArrays(GL_TRIANGLES, 0, vertices.size());
}

如果我将这 4 行粘贴回我的"do"循环中代替"drawBone((",网格就会画得很好。

任何帮助将不胜感激! :)

您有一些全局变量,如 MatrixIDvertices 。确保这些是全局可访问的,并且您不会在"do"循环中重新声明它们