0
我想用lwjgl和OpenGL在屏幕中间画一个三角形。我当前的代码如下所示:如何在lwjgl中绑定一个缓冲区
int vertexBuffer = glCreateBuffers();
glBindBuffer(GL_ARRAY_BUFFER, vertexBuffer);
glBufferData(GL_ARRAY_BUFFER, g_vertex_buffer_data, GL_STATIC_DRAW);
//and initalised FloatBuffer
和主循环:
while (glfwWindowShouldClose(windowID) == GL_FALSE) {
glClear(GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT);
glBindBuffer(GL_ARRAY_BUFFER, vertexBuffer);
glVertexAttribPointer(0, 3, GL_FLOAT, false, 0, vertexBuffer);
glEnableVertexAttribArray(0);
glDrawArrays(GL_TRIANGLES, 0, 3);
glDisableVertexAttribArray(0);
glfwSwapBuffers(windowID);
glfwPollEvents();
}
你能帮助我吗?
感谢人,现在这个工作,但它仍然没有绘制任何东西,虽然g_vertex_buffer_data是正确的,并调用glDrawArrays()。任何其他建议? – Dynamitos
那么,我发现有一个glfwWindowHint调用将OpenGL-Version设置为3.3,这是它没有绘制任何东西的原因。但仍然,感谢您的帮助 – Dynamitos