QT OpenGL,顶点缓冲对象和GLEW?

时间:2011-08-29 04:59:14

标签: qt opengl qt4 glew

我正在将旧的openGL代码(立即模式)迁移到Vertext-Buffer-Objects。 我意识到我需要使用OpenGL3 API调用(GL_ARB_vertex_buffer_object)。 所以我打算用GLEW作为扩展加载库。

我的问题是,是否有一种特殊的方法来初始化OpenGL3 contexT的QGLWidget?

1 个答案:

答案 0 :(得分:2)

“OpenGL 3上下文”是什么意思?

通过正常的上下文创建,您可以获得3.1版或更高版本的OpenGL支持。现在,如果你想要一个实现核心规范的 core OpenGL context ,那么你必须做一些工作。

请注意,兼容性上下文完全正常。它仍然可以完成核心环境所做的一切;你没有 来执行以下任何操作来使用缓冲区对象。

哦,缓冲对象不再是扩展对象了。使用核心功能,而不是GL_ARB_vertex_buffer_object

中看到的扩展功能

注意:以下内容适用于QT 4.7或以上版本:

你必须至少熟悉QGLFormat;你需要一个才能创建一个QGLWidget。只需使用QGLFormat::setProfile在该对象上调用QGLFormat::CoreProfile即可。

可悲的是,QT不允许您指定特定版本。但这应该足以获得核心OpenGL配置文件,假设您的硬件实现了OpenGL 3.2或更高版本。