我是如何在1.1上下文中使用OpenGL 3功能的?

时间:2014-08-27 02:37:51

标签: opengl glfw glew

几周前我刚刚开始使用OpenGL进行编程,正如人们向我建议的那样,我使用GLFW作为我的窗口处理程序。我还使用GLEW作为我的扩展处理程序。因此,我将完成制作具有三个点的顶点缓冲区的整个过程,以绘制三角形并将其传递给OpenGL以绘制它,然后编译并运行。没有三角形绘制,大概是因为我没有任何着色器。所以我想我自己"为什么不通过使用GLFW创建上下文来降低我的O​​penGL版本?"我做到了从OpenGL 3.3到1.1,当然还有一个三角形。成功,我想。然后我记得有一篇文章说顶点缓冲区只在OpenGL 3中引入,那么我怎么可能在1.1上下文中使用OpenGL 3功能呢?

1 个答案:

答案 0 :(得分:3)

图形驱动程序可以自由地为您提供与您请求的版本不同的上下文,只要它们兼容即可。例如,即使您要求v1.1上下文,也可能会获得v3.0上下文,因为OpenGL 3.0不会更改或删除OpenGL 1.1中的任何功能。

此外,OpenGL版本之间的唯一区别通常是GPU必须支持的扩展。如果您有v1.1上下文但支持ARB_vertex_buffer_object,那么您仍然可以使用VBO(尽管您可能需要将ARB后缀附加到函数名称。)