我的OpenGL版本没有';不支持缓冲区绑定

我的OpenGL版本没有';不支持缓冲区绑定,opengl,hardware,drivers,Opengl,Hardware,Drivers,为什么会这样?我想知道,因为在我在互联网上看到的许多文章和各种教程中,很难不看到不涉及缓冲区绑定的内容。我仅有的绑定函数是glBindTexture。这是否意味着我的司机明显过时了 编辑 对不起,缺少信息。我的OpenGL 3.1版来自英特尔集成GPU。另外,我认为我缺少诸如glBindBuffer之类的函数的原因主要是因为它不会在Qt中显示为我可以在自动完成中使用的函数 我仅有的绑定函数是glBindTexture 你很可能被OpenGL实现导出其功能的方式所愚弄。Windows上的openg

为什么会这样?我想知道,因为在我在互联网上看到的许多文章和各种教程中,很难不看到不涉及缓冲区绑定的内容。我仅有的绑定函数是
glBindTexture
。这是否意味着我的司机明显过时了

编辑

对不起,缺少信息。我的OpenGL 3.1版来自英特尔集成GPU。另外,我认为我缺少诸如
glBindBuffer
之类的函数的原因主要是因为它不会在Qt中显示为我可以在自动完成中使用的函数

我仅有的绑定函数是
glBindTexture

你很可能被OpenGL实现导出其功能的方式所愚弄。Windows上的opengl32.dll将和libGL.so很可能只提供OpenGL-1.1功能(Windows Vista和/实际上提供了OpenGL-1.4,大多数Linux/BSD驱动程序将提供OpenGL-2.1)。任何超出范围(以及缓冲区对象超出范围)的内容都必须通过所谓的扩展系统加载

最简单可靠的方法是:

  • 转到获取与您的开发环境匹配的版本
  • 在开发环境中安装GLEW
  • 将所有出现的
    #include
    替换为
    #include
  • 将OpenGL上下文设置为当前后,在代码中调用
    glewInit()

  • -1:因为缺乏信息。您正在初始化哪个版本的OpenGL?当您说它“不支持”它时,您的意思是当您尝试使用
    glBindBuffer
    时出现链接错误,还是函数指针未加载?您正在使用哪个OpenGL加载库?您在哪个平台上?请阅读OpenGL Wiki上的。这非常有意义!非常感谢。