0

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

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

4

1 回答 1

2

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

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

请注意,兼容性上下文非常好。它仍然可以完成核心上下文所做的一切;您无需执行以下任何操作即可使用缓冲区对象。

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

注意:以下适用于 QT 4.7 或更高版本:

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

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

于 2011-08-29T05:13:30.080 回答