opengl - 从 OpenGL 3.0 切换到 OpenGL ES 2.0 有什么大不了的吗?

标签 opengl opengl-es-2.0 opengl-3

如果我目前正在使用 SDL 和 GLEW(适用于 OpenGL 3.0+)开发 Windows 游戏,并且稍后想要将游戏移植到 Android,我是否需要重写大部分代码以从 OpenGL 3.0 转换为 OpenGL ES 2.0?有没有任何程序可以为我执行此操作?从 OpenGL 切换到 OpenGL ES 有什么大不了的吗?

最佳答案

完全没有,转换起来非常容易。

唯一的区别是着色器变量和常量,以及 GL_RGBA8 到 GL_RGBA8_OES 等后缀。然而,OpenGL ES 也有限制。例如,您只能使用 GL_UNSIGNED_BYTE 或 GL_UNSIGNED_SHORT 作为索引数据类型 GL_UNSIGNED_INT。这意味着您一次性绘制的指数不能超过 65,535 个。尽管您应该引用官方 OpenGL ES 手册,https://www.khronos.org/opengles/sdk/docs/man/,但这并不是什么大问题。

引用链接OpenGL ES 2.0 vs OpenGL 3 - Similarities and Differences通过咖啡和代码

关于opengl - 从 OpenGL 3.0 切换到 OpenGL ES 2.0 有什么大不了的吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31444110/

相关文章:

OpenGL ES 片段着色器可以更改片段的深度值吗?

c++ - OpenGL 绘制多个对象

opengl - 在 OpenGL 中使用围栏同步对象

android - 成功分离 Sprite 后仍在调用 onAreaTouch

image - 替换 GL_LUMINANCE、GL_LUMINANCE_ALPHA​

c++ - OpenGL-在任意轴上平移对象

c - MacOS X : unexpected behavior of glGenFramebuffers()

c++ - 设置 opengl View 和投影转换

opengl - 渲染到一个颜色 channel 而不影响其他 channel

android - 纹理翻转并上下颠倒