(linux)我怎么能知道在c++程序中是否支持Opengl 4

(linux) How can I know inside a c++ program if Opengl 4 is supported?

本文关键字:程序 是否 支持 Opengl c++ linux 怎么能      更新时间:2023-10-16

我想在我的C++程序中检测运行的计算机是否支持opengl 4。

我不知道我是否在谷歌和stackoverflow上搜索到了错误/糟糕的术语(我的英语技能…),但令人惊讶的是,我没有找到任何例子。。。如果你告诉我这个问题是重复的,我不会感到惊讶。。。

知道如何从视频卡和运行中的计算机上使用的驱动程序中获得更有用的数据,最终会对我有用。我没有花时间四处看看如何做到这一点,但如果你有一些有用的链接,请随时与我分享。

  • 步骤1:创建OpenGL上下文;首先通过"attrib"方法请求您想要的miniumOpenGL版本。如果成功了,你就完了。

  • 第二步:如果这不起作用,你可以优雅地降级,创建一个简单的上下文并调用CCD_ 1以获得支持的实际上下文版本。请注意,在MacOS X上,这将限制您使用2.1及更早版本。

  • 步骤3:如果你想要一些在2.1和优化版本之间可移植且可靠的上下文,请尝试在循环中使用attribs方法,减少你的需求,直到它成功。

请注意,无法提前确定OpenGL支持哪个版本。其主要原因是,操作系统和图形层可以根据请求和当前可用的资源(理论上可以热插拔图形卡),根据需要决定使用哪种本地可用的OpenGL版本。