我在OpenGL中有VBO和IBO,但無法正確繪製它們。你可以讓我知道我可以忘記在框架顯示功能? - struct Point3D是一個帶有3個浮點數的結構(x,y,z)。 - nbVertex是glVertex數組中頂點的數量。 - nbVBOInd是VBOInd數組中索引的數量。無法在OpenGL中顯示VBO
glGenBuffers(1, &VertexVBOID);
glBindBuffer(GL_ARRAY_BUFFER, VertexVBOID);
glBufferData(GL_ARRAY_BUFFER, sizeof(struct Point3D)*nbVertex, glVertex, GL_STATIC_DRAW);
glGenBuffers(1, &IndexVBOID);
glBindBuffer(GL_ELEMENT_ARRAY_BUFFER, IndexVBOID);
glBufferData(GL_ELEMENT_ARRAY_BUFFER, sizeof(int)*nbVBOInd, VBOInd, GL_STATIC_DRAW);
glBindBuffer(GL_ARRAY_BUFFER, VertexVBOID);
glEnableClientState(GL_VERTEX_ARRAY);
glVertexPointer(3, GL_FLOAT, sizeof(glVertex), BUFFER_OFFSET(0)); //The starting point of the VBO, for the vertices
glBindBuffer(GL_ELEMENT_ARRAY_BUFFER, IndexVBOID);
glDrawElements(GL_TRIANGLES, 3, GL_UNSIGNED_SHORT, BUFFER_OFFSET(0)); //The starting point of the IBO
謝謝!
哪個版本的OpenGL你生成你的上下文? – datenwolf
對不起,這個愚蠢的問題:我怎麼能找到這個? –
@Laurent這取決於你的平臺。你使用QGLViewer或過剩或其他?通常會提供一些開關來創建具有特定版本的上下文。 – pmr