首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >OpenGL ES与OpenGL

OpenGL ES与OpenGL
EN

Stack Overflow用户
提问于 2010-12-23 13:44:06
回答 13查看 66.2K关注 0票数 101

OpenGL ES和OpenGL有什么区别?

EN

回答 13

Stack Overflow用户

回答已采纳

发布于 2010-12-23 13:47:43

OpenGL ES和OpenGL的两个比较显著的区别是glBegin的去除。glEnd对原始呈现的调用语义(有利于顶点数组),以及引入定点数据类型,用于顶点坐标和属性,以更好地支持嵌入式处理器的计算能力,而嵌入式处理器通常缺乏FPU。

看看这里:ES

票数 58
EN

Stack Overflow用户

发布于 2011-08-24 18:58:09

OpenGL ES是用于嵌入式系统的opengl。就api函数的数量而言,它比普通的opengl更简单,但可能更难使用,因为您必须使用顶点缓冲区并编写更多的着色器。

当您使用普通opengl时,您可以使用glBegin和glEnd来封装您需要绘制的几何原语,但是在使用Opengl时,您必须使用顶点缓冲区。我想这是出于性能考虑。

目前有两种Opengl ES版本,1.1版只能支持固定渲染流水线,而2.0版则支持glsl着色器。然而,它没有固定的渲染管道。换句话说,你必须为每件事写你自己的着色器。

Opengl ES主要用于手机和网络(webgl)。根据规范,您的桌面opengl驱动程序可以支持所有opengl es apis。

票数 51
EN

Stack Overflow用户

发布于 2012-06-23 21:05:59

我想补充的是,通过使用OpenGL 3.3的一个子集,OpenGL 3.3和OpenGL es2.0基本上是可互操作的。我的自定义C++引擎对Android/IOS/Windows/OSX/Linux使用相同的API调用,并定义了几个API调用。

其中的主要区别是:

  • 缺乏几何着色器支持
  • 没有min/max混合(这可能有一个扩展)
  • 无四表基元
  • 更严格的纹理格式(特别是关于浮点)
  • glGetTexImage不可用
  • 没有转换反馈,其他几个高级特性也是如此。

还有许多其他的差异,但这涵盖了几个重要的差异。

票数 43
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/4519264

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档