opengl - 编写 OpenGL 和 OpenGL ES 兼容代码的指南?

标签 opengl opengl-es cross-platform compatibility

关闭。这个问题需要更多 focused .它目前不接受答案。












想改进这个问题?更新问题,使其仅关注一个问题 editing this post .

5年前关闭。




Improve this question




我熟悉 OpenGL 和 OpenGL ES 之间的基本区别,例如没有 glBegin、glEnd、没有四边形等等。

因此,我的问题不是关于这两个 API 之间的差异,而是关于编写可以在这两个 API 及其各种实现上实际工作的代码,特别是关于 ES,其中实现似乎变化更大。

自然,这意味着要符合两个 API 中都存在的功能和相同的语法,没有什么太花哨和最前沿的,OpenGL ES 2 是最低的公分母。

最佳答案

您可能对新的 OpenGL ES 兼容性扩展感兴趣 ARB_ES2_compatibility (在 OpenGL 4.1 中添加到核心)

当然,实际使用该扩展需要支持较新的 4.1 桌面 OpenGL,但您可以通读它们并查看在桌面上获得 ES 支持所需的内容,并在您的 ES 代码中尽可能避免这种情况。不过,可能有些东西与旧的桌面 OpenGL 版本不兼容,主要是一些着色器的东西,比如浮点精度。

还有ARB_ES3_compatibility (OpenGL 4.3 中的核心),但它可能是安全的,因为它适用于 OpenGL ES 3.0)。

关于opengl - 编写 OpenGL 和 OpenGL ES 兼容代码的指南?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10316842/

相关文章:

opengl - OpenGL GLSL中的atan(y/x)和atan2(y,x)有什么区别

opengl - OpenGL中glActiveTexture和GL_TEXTURE0的作用是什么?

java - 如何在 Android 版 Flutter 中渲染 OpenGL?

c# - 在 Visual Studio 中使用 Mono 将 C# WinForms 应用程序移植到 Linux/OS X

c - SDL OpenGL 纹理受到绿色调的困扰

c++ - 分层图像作为具有大量层的帧缓冲区

opengl-es - 具有白色轮廓的 OpenGL 彩色位图字体

c# - 在桌面和 Surface (PixelSense) 1.0 上运行的 WPF 应用程序的约定

python - 运行 setup.py 时如何获取 Python wheel 的文件名?

performance - 优化 GPU 利用率处理离散图像的技术