を描く:私はここにOpenGLとの.objモデルを構築するためのチュートリアルに従っ:http://www.opengl-tutorial.org/fr/beginners-tutorials/tutorial-7-model-loading/私は問題があるベクトル<glm::vec3> OpenGLのC++
私は一つだけ問題があり、最後に、我々は描画するベクトルを持っています。彼らが使用したチュートリアル "glBufferDataを()"
で
は、その後、私は
float* _vertices = new float[vertices.size() * 3];<br> for (int i = 0; i < vertices.size(); ++i)
{
float* _t = glm::value_ptr(vertices[i]);
for (int j = 0; j < 3; ++j)
_vertices[i + j*(vertices.size() - 1)] = _t[j];
}
(私は私のベクトルアンフロート*を変換)
その後、私はそれをロードすることを作っ:
mat4 projection;
mat4 modelview;
projection = perspective(70.0, (double)800/600, 1.0, 100.0);
modelview = mat4(1.0);
GLuint vertexbuffer;
glGenBuffers(1, &vertexbuffer);
glBindBuffer(GL_ARRAY_BUFFER, vertexbuffer);
glBufferData(GL_ARRAY_BUFFER, sizeof(_vertices), _vertices, GL_DYNAMIC_DRAW);
そして最後に私のメインループに描画します。
glClear(GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT);
modelview = lookAt(vec3(3, 1, 3), vec3(0, 0, 0), vec3(0, 1, 0));
glEnableVertexAttribArray(0);
glBindBuffer(GL_ARRAY_BUFFER, vertexbuffer);
glVertexAttribPointer(0, 3, GL_FLOAT, GL_FALSE, 0, 0);
glDrawArrays(GL_TRIANGLES, 0, vertices.size());
glDisableVertexAttribArray(0);
しかし、それは動作しません...(私は黒い画面を持っている)
はあなたの助けを事前によって