这是为什么?我想知道,因为我在互联网上看到很多文章和各种教程,很难看到一些不涉及缓冲区绑定的东西。我唯一的绑定函数是glBindTexture
。这是否意味着我的司机明显过时了?
修改
抱歉缺乏信息。我的OpenGL 3.1版来自英特尔集成GPU。另外,我认为我缺少glBindBuffer
等功能的原因主要是因为它不会在Qt中显示为我可以在自动完成中使用的函数。
答案 0 :(得分:2)
我唯一的绑定功能是
glBindTexture
很可能你被OpenGL实现导出其功能的方式所迷惑。 Windows上的opengl32.dll和libGL.so很可能只会给你OpenGL-1.1功能(Windows Vista和/实际上会给你OpenGL-1.4,大多数Linux / BSD驱动程序会给你OpenGL-2.1)。必须通过所谓的扩展系统加载超出(以及缓冲区对象超出)的任何内容。
最简单可靠的方法:
#include <GL/gl.h>
替换为#include <GL/glew.h>
glewInit()
。