【问题标题】:Request a Specific OpenGL Context Version in GLFW3在 GLFW3 中请求特定的 OpenGL 上下文版本
【发布时间】:2014-04-10 14:33:14
【问题描述】:

如何检测当前系统支持哪些 OpenGL 版本,以及如何“选择”其中一个来使用?在创建上下文时,我知道它会自动为您选择一个向后兼容的,但我想自己选择一个。

我没有使用 GLEW 或任何其他类似的库,只是使用普通的 OpenGL 和 GLFW3。

【问题讨论】:

  • 您无法使用“普通 OpenGL”创建 OpenGL 上下文。您必须使用窗口系统 API,例如 WGL、GLX、CGL、EGL 等。这些 API 都在 GL 3.0 发布时进行了扩展以引入此功能。如果您不想为编写特定于平台的代码而烦恼,您应该考虑使用 GLFW3 之类的框架。但要知道,对于早于 3.x 的实现,无法请求特定版本。
  • @AndonM.Coleman 我实际上正在使用 GLFW3,但我不确定我是否会继续使用它。没有请求上下文版本的全局方法吗?如果不是,我会调整我的问题。

标签: opengl opengl-3 glfw


【解决方案1】:

以下是 GLFW3 创建 OpenGL 3.3 Core 配置文件上下文的示例代码:

glfwWindowHint( GLFW_CONTEXT_VERSION_MAJOR, 3 );
glfwWindowHint( GLFW_CONTEXT_VERSION_MINOR, 3 );
glfwWindowHint( GLFW_OPENGL_FORWARD_COMPAT, GL_TRUE );
glfwWindowHint( GLFW_OPENGL_PROFILE, GLFW_OPENGL_CORE_PROFILE );

【讨论】:

  • 有没有办法获取支持的版本列表?
  • @JeroenBollen 要获得支持的最大版本,您必须创建兼容性配置文件并向 OpenGL 询问版本。这将是 OpenGL 的最大版本,它不会破坏您请求的功能集。
  • 不是我问的,我想要一个支持的版本列表...:s
  • @JeroenBollen:支持小于或等于最大值的所有版本 :)
  • @legends2k: glGetString( GL_VERSION );
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2023-03-15
  • 1970-01-01
  • 2017-12-18
  • 1970-01-01
相关资源
最近更新 更多