OpenGL ES声称是OpenGL的子集,这在理论上意味着任何OpenGL ES程序都可以在PC上作为常规OpenGL运行;然而,对于某些函数(glOrtho和glOrthof),OpenGL ES的命名约定似乎略有不同。这很重要吗?OpenGL ES应用程序是否仍然可以与OpenGL图形处理器/驱动程序一起使用,或者只需重新编译?
发布于 2012-04-27 14:42:07
OpenGL (4.x)和OpenGL ES (2.x)的当前版本是相似的,尽管有足够的差异,仅通过重新编译移植代码将无法工作。正如@Nicol Bolas指出的那样,OpenGL中有许多甚至在OpenGL ES中都不存在的功能,而一些API的行为略有不同。此外,平台支持也有很大的不同(即设置渲染上下文等)。
由于模型从旧的即时模式样式(如OpenGL 2.1及更早版本)更改为更现代的基于着色器的模型,因此OpenGL ES 2.0实际上并不向后兼容1.x。
OpenGL v3和v4弃用了许多过时的2.x功能,尽管主要驱动程序保留了兼容模式以继续这种旧的支持。
OpenGL 4.x中的GL_ARB_ES2_compatibility extension有助于将桌面版和移动版更紧密地结合在一起,从而简化可移植性。
像glOrtho和glOrthof这样的细微差别显然很容易管理,但您将需要为其他功能编写包装器。
https://stackoverflow.com/questions/10345323
复制相似问题