首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >OpenGL与OpenGL ES (3.0)的关系

OpenGL与OpenGL ES (3.0)的关系
EN

Software Engineering用户
提问于 2014-07-16 18:33:37
回答 1查看 1.1K关注 0票数 2

我开始了我的图形编程之旅,并想学习OpenGL。因为我对图形编程很熟悉,而对C和C++不熟悉,所以当我看到OpenGL和ES时,出现了一个熟悉的问题。OpenGL是OpenGL ES的超集吗?我在一本ES 3.0指南中看到,它使用基于着色器的实现,这些实现存在于OpenGL的嵌入式库中,而且由于移动硬件的限制,ES避免使用由大型ol OpenGL提供的类似/冗余库.基于着色器的实现是OpenGL的一个很大一部分,在桌面上编程时效率较低?还是我应该把这两个API看作完全不同的东西呢? thx是预先的。

EN

回答 1

Software Engineering用户

发布于 2014-07-17 03:03:58

桌面OpenGL和OpenGL ES有很多相似之处。较早的OpenGL,在可编程着色器之前,有点类似ES v1,在ES v1中,两者都依赖于一个固定功能的呈现管道(即:只有C)。GL ES 2和更高版本更像现代桌面GL,因为它需要使用着色器和其他现代渲染实践,如使用顶点缓冲区。实际上,桌面GL有两个扩展,目的是通过向桌面版本提供GL的所有特定功能,减少将代码从桌面移植到GL设备的工作。ARB_ES2_兼容性ARB_ES3_兼容性

因此,我认为公平地说,OpenGL ES是桌面GL的一个子集。两者都收敛到了一个统一的API中,而且库的总体“感觉”对两者来说几乎是一样的。

如果您正在寻找更详细的比较现有GL版本,我认为您最好的选择是看看wiki OpenGL的历史OpenGL ES wiki。还有一个所以线,您可能会发现它值得一读。

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

https://softwareengineering.stackexchange.com/questions/250134

复制
相关文章

相似问题

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