c ++通过函数

时间:2016-10-31 16:25:47

标签: c++ arrays pointers reference

我的问题很简单。我正在尝试通过函数传递一个int数组。 但另一方面出了问题。我没有从中得到数据。

创建一些2个数据数组并将它们发送到网格类。

GLfloat vertices[] =    {   0.5f,  0.5f, 0.0f,
                            0.5f, -0.5f, 0.0f,
                            -0.5f, -0.5f, 0.0f,
                            -0.5f,  0.5f, 0.0f  };

GLuint indices[] =      {   0, 1, 3,
                            1, 2, 3 };

Mesh mesh;
mesh.SetVertices(vertices);
mesh.SetIndices(indices);

这是我的标题:

void SetVertices(GLfloat* vertices);
void SetIndices(GLuint* indices);

我的cpp:

void Mesh::SetVertices(GLfloat* vertices) {
    glBindBuffer(GL_ARRAY_BUFFER, VBO);
    glBufferData(GL_ARRAY_BUFFER, sizeof(vertices), vertices, GL_STATIC_DRAW); }

void Mesh::SetIndices(GLuint* indices) {
    glBindBuffer(GL_ELEMENT_ARRAY_BUFFER, EBO);
    glBufferData(GL_ELEMENT_ARRAY_BUFFER, sizeof(indices), indices, GL_STATIC_DRAW); }

我还测试了它直接在SetVertices / SetIndices方法中存储数组,并且工作得很好。

干杯M.

0 个答案:

没有答案