我正在尝试使用 c# 检查 pc 中是否有 opengl,但目前没有找到任何简单的解决方案。我正在寻找最简单和最好的方法,例如:
if ( exists_OpenGL ) MessageBox.Show( "yeah, go do your stuff..." );
所以拜托,谁能帮我一个代码,女巫会很快,而且足够简单吗?
在大多数操作系统上,您都会找到 API 库。然而,这并没有告诉您有关实际 OpenGL 功能的任何信息。检查可用内容的唯一方法是创建一个最小的 OpenGL 上下文并查询它的属性(版本、渲染器、可用扩展)。
您可以尝试使用 C# OpenGL 库(例如OpenTK )创建上下文。如果成功,这也可能会为您提供版本号。
我很确定大多数操作系统都带有某种形式的 OpenGL,因此仅检查它是否存在可能在不知道该功能的情况下也无法工作(看看 chrome 使用兼容显卡列表尝试使用 webgl 时遇到了多大的麻烦)。另一种似乎不太稳定的替代方法可能是直接加载本机 DLL,甚至可能对其进行查询。