当前位置: 首页 > 知识库问答 >
问题:

OpenGL与OpenGLES2的兼容性

谷梁襦宗
2023-03-14

我一直试图编写一些opengl代码,在任何地方都可以使用,但又不太限制自己。
我想在只支持opengles2的设备上使用opengles2,在支持opengl核心的设备上使用opengles2。

另外,我希望能够在运行时选择使用哪一个(当然,如果可用的话)。

我知道GLEW,但不幸的是,大多数linux distros发布的GLEW版本仍然不兼容GLES2(debian,我在看你)。它只是分割断层。

你们怎么做?还有其他连接opengl函数的方法吗?

共有1个答案

令狐跃
2023-03-14

我在航空航天行业工作,我可以使用各种OpenGL子集,因为每个硬件提供商都有自己的版本。(我喜欢用一个完整的文档描述...嗯...任何东西。)似乎我们确实有类似的问题。我会告诉你我到目前为止所学到的东西。

首先,您将希望发展到最大,最坏的超集所有配置文件,你可以得到。使用硬件供应商提供的OpenGL标头的最新版本。这样你的程序至少可以解决编译部分。

BGRA宏/枚举将是GLESv2运行时的一部分,但是如果您的平台只支持RGBA,您肯定永远不会在运行时使用它。

基于平台功能的运行时决策是基于OpenGL扩展列表做出的。将扩展列表与应用程序使用的任何内容进行比较,停用不支持的分支并激活支持的分支。您可以通过这种方式区分OpenGL和GLES。

 类似资料:
  • 我想用JavaFXPorts和静态编程语言代码构建一个JavaFXAndroid应用。在JavaFXPorts项目中可以使用静态编程语言吗?下面是我的示例Gradle(版本5.6.4)项目: 注意:这段代码的问题是Kotlin运行时。。。有没有办法把所有东西捆绑在可执行Jar和Apk中? ./settings.gradle.kts /建造。格雷德尔。kts /应用/构建。格雷德尔。kts ./ap

  • 是否可以使用web3J收听infura事件?我正在尝试获取事件,但出错 我在不同的博客中读到,使用web3J无法获取过滤事件,那么使用web3J和infura获取过滤事件的替代方案是什么?

  • 问题内容: 检索具有特定类的元素数组的最佳方法是什么? 我会使用document.getElementsByClassName,但IE不支持它。 …但是IE仍然说: 对象不支持此属性或方法 有什么想法,更好的方法,错误修复? 我不希望使用任何涉及jQuery或其他“笨拙的javascript”的解决方案。 我知道了! 正如@joe提到的,该函数不是的方法。 因此,工作代码如下所示: …此外, 如果

  • 问题内容: 我在我的项目中使用,。我面临着找不到的错误。实际上,在旧的hibernate核心jar中,我们拥有此类,但在4.3.0版本中却没有。事实上我们有在4.3.0版本。但是我不确定此类在运行时如何依赖。意思是当我在应用程序中使用glassfish服务器时。 请让我知道spring 4.0.0和hibernate 4.3.0版本的兼容性,并向我推荐这两个版本的最新兼容版本。 我的代码是:dis

  • 我发现,如果我尝试用iText(版本5.1.1)打开现有的1.6 PDF文件,就会出现一个错误。如果我用1.5转换这个PDF,我就能读懂它了。 我试着找出从哪个版本的iText PDF 1.6被处理,但找不到信息。知道吗?THX! 编辑:此处堆栈: 执行行时出错: