OpenGL不绘制三角形VBO
Posted
技术标签:
【中文标题】OpenGL不绘制三角形VBO【英文标题】:OpenGL not drawing triangles VBO 【发布时间】:2016-02-14 22:03:27 【问题描述】:我正在阅读此视频https://www.youtube.com/watch?v=6u1FkksyNCk 中的教程。将这个人的代码复制到我的 Visual Studio Community 2015 后,我没有在屏幕上看到三角形。只有空的黑色窗口。我有版本问题吗?我像他在第二个视频中所做的那样配置了视觉效果https://www.youtube.com/watch?v=vGptI11wRxE
代码如下:
#include <windows.h>
#include <GL/GL.h>
#include <GLFW/glfw3.h>
int main(void)
GLFWwindow *window;
//initialisie the GLFW
if(!glfwInit())
return -1;
//create a window mode OpenGL Context
window = glfwCreateWindow(640, 480, "OpenGL Project Tutorial", NULL, NULL);
if (!window)
glfwTerminate();
return -1;
// make window 's context current
float vertices[] =
0.0, 0.5, 0.0, // top
-0.5, -0.5, 0.0, // bottom
0.5, -0.5, 0.0 // bottom right
;
//loop unitl the user closes the window
while (!glfwWindowShouldClose(window))
glClear(GL_COLOR_BUFFER_BIT);
// Render OpenGL here
glEnableClientState(GL_VERTEX_ARRAY);
glVertexPointer(3, GL_FLOAT, 0, vertices);
glDrawArrays(GL_TRIANGLES, 0, 3 );
glDisableClientState( GL_VERTEX_ARRAY);
//render the OpenGL here
//sweap front and back buffers
glfwSwapBuffers(window);
//poll for and process events
glfwPollEvents();
glfwTerminate();
【问题讨论】:
你真的不应该期望人们在这里观看视频教程只是为了找到你可能正在使用的源代码。 【参考方案1】:您的代码缺少一个
glfwMakeContextCurrent(window);
紧接着
// make window 's context current
评论。
【讨论】:
@Thomas:不,不是。帮自己一个忙,放弃将视频教程用于诸如 opengl 之类的东西的想法。以上是关于OpenGL不绘制三角形VBO的主要内容,如果未能解决你的问题,请参考以下文章