オブジェクトをロードし、VBO と glDrawArrays() を使用してレンダリングしようとしています。問題は、このポインターが格納できる値の制限を超えたため、私の場合のような単純な浮動小数点ポインターがfloat f[]={...}
機能しないことです。したがって、私の解決策はベクトルを使用することでした。そして、それは機能していません...
これが私のコードです:
unsigned int vbo;
vector<float*> vert;
...
vert.push_back(new float(i*size));
vert.push_back(new float(height*h));
vert.push_back(new float(j*size));
...
glGenBuffers(1, &vbo);
glBindBuffer(GL_ARRAY_BUFFER, vbo);
glBufferData(GL_ARRAY_BUFFER, sizeof(vert), &vert, GL_STATIC_DRAW);
glBindBuffer(GL_ARRAY_BUFFER, 0);
そしてレンダリングする:
glBindBuffer(GL_ARRAY_BUFFER, vbo);
glEnableClientState(GL_VERTEX_ARRAY);
glVertexPointer(3, GL_FLOAT, 0, 0);
glDrawArrays(GL_TRIANGLE_STRIP, 0, 3);
glDisableClientState(GL_VERTEX_ARRAY);
glBindBuffer(GL_ARRAY_BUFFER, 0);
glBufferData()
3番目のパラメーターがどこにあるかに問題がありますconst GLvoid *data
。私は合格&vert
していますが、機能していません。