gpt4 book ai didi

c++ - 在上下文初始化之前查询支持的最高 OpenGL 版本?

转载 作者:塔克拉玛干 更新时间:2023-11-03 01:55:15 24 4
gpt4 key购买 nike

我想知道是否有一种方法(最好是跨平台,但如果不仅仅是 POSIX 兼容或至少在 Linux 中)来查询当前系统中支持的最高 OpenGL 版本。

我希望能够将 GLFW 窗口实例化为支持的最高版本,而不是盲目地尝试不同的版本,直到一个允许有效的上下文初始化。

编辑:

假设我没有创建上下文。想象一下,我想复制 glxinfo 所做的事情。换句话说,我希望能够在不创建上下文的情况下查询已安装的 OpenGL 版本。

最佳答案

当您请求 X.Y 版本时,您并不是在请求 X.Y 版本;您要求至少 X.Y 版本。允许实现为您提供与 X.Y 向后兼容的最高版本。

因此,如果您要求 3.3 核心配置文件,您很可能会获得 4.6 核心配置文件。返回较低版本的实现没有意义。

因此,只需针对最低 OpenGL 版本编写代码,然后提出要求。您将获得实现为您提供的任何内容,并且您可以查询稍后获得的内容。


Imagine I want to replicate what glxinfo does.

glxinfo 通过创建上下文 来完成它的工作。就look at its source code .

然而,GLX_MESA_query_renderer extension确实允许询问将为特定显示/屏幕/渲染器组合创建的上下文。当然,这只能通过 MESA 进行;不通过 MESA 系统的驱动程序将不会通过此可见。

关于c++ - 在上下文初始化之前查询支持的最高 OpenGL 版本?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49862263/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com