(linux)我怎么能知道在c++程序中是否支持Opengl 4
(linux) How can I know inside a c++ program if Opengl 4 is supported?
我想在我的C++程序中检测运行的计算机是否支持opengl 4。
我不知道我是否在谷歌和stackoverflow上搜索到了错误/糟糕的术语(我的英语技能…),但令人惊讶的是,我没有找到任何例子。。。如果你告诉我这个问题是重复的,我不会感到惊讶。。。
知道如何从视频卡和运行中的计算机上使用的驱动程序中获得更有用的数据,最终会对我有用。我没有花时间四处看看如何做到这一点,但如果你有一些有用的链接,请随时与我分享。
-
步骤1:创建OpenGL上下文;首先通过"attrib"方法请求您想要的miniumOpenGL版本。如果成功了,你就完了。
-
第二步:如果这不起作用,你可以优雅地降级,创建一个简单的上下文并调用CCD_ 1以获得支持的实际上下文版本。请注意,在MacOS X上,这将限制您使用2.1及更早版本。
-
步骤3:如果你想要一些在2.1和优化版本之间可移植且可靠的上下文,请尝试在循环中使用attribs方法,减少你的需求,直到它成功。
请注意,无法提前确定OpenGL支持哪个版本。其主要原因是,操作系统和图形层可以根据请求和当前可用的资源(理论上可以热插拔图形卡),根据需要决定使用哪种本地可用的OpenGL版本。
相关文章:
- 码头化的C++应用程序是否向后兼容早期的内核版本
- 如何使用C++确定应用程序是否已在窗口中启动?
- 如何查询以确定我的 MacOS/X 应用程序是否处于应用程序午睡模式?
- C++如何检查程序是否首次运行?
- 确定C++应用程序是否作为具有旧版支持的 UWP 应用运行
- 给定概念,SFINAE 帮助程序是否仍在规范中作为未弃用?
- Windows 和 Android 应用程序是否需要 SSL?
- 在不释放所有动态分配的资源的情况下结束程序是否有风险
- shared_ptr的删除程序是否存储在自定义分配器分配的内存中?
- 根据应用程序是否已自动化显示不同的 QML 文件
- 如何检查应用程序是否安装了 jni?
- 使用 IPC 共享内存的应用程序是否可以访问彼此的代码?
- 在 64 位 Windows 上运行的 32 位应用程序是否仍然需要使用 SAFESEH 进行编译
- 编译的程序是否有可能不包含实例化的模板类
- UMDF驱动程序是否可以写入文件
- 如何使用QT检查程序是否存在于路径中
- 程序是否可以在调用kill函数之前返回/终止
- 如何检查程序是否超过数据类型存储
- 如何检查应用程序是否在OpenOnload下运行
- 当一个对象试图访问它的某个属性时,程序是否可能发送Segfault