我熟悉OpenGL和OpenGL ES之间的基本区别,例如:没有glBegin,glEnd,没有四边形等等。
因此,我的问题不是关于两个API之间的差异,而是关于编写实际可以在API及其各种实现上工作的代码,特别是关于ES,其中实现似乎变化更大。
当然,这意味着符合两个API中存在的功能和相同的语法,没有太多的花哨和前沿,OpenGL ES 2是最低的共同点。
答案 0 :(得分:2)
根据Khronos OpenGL ES是桌面OpenGL的一个子集,因此要编写兼容代码,您只需要使用OpenGL ES文档。
来自http://www.khronos.org/opengles/
的引用编辑:Justin Meiners在评论中指出,在细节方面存在一些差异。 David C. Bishop的回答有更多信息。OpenGL®ES是一种免版税的跨平台API,用于嵌入式系统上的全功能2D和3D图形 - 包括控制台,电话,电器和车辆。它由明确定义的桌面OpenGL子集
组成
答案 1 :(得分: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。