我认为最主要的区别还是在于运行环境和面向的语言上。OpenGL ES主要直接提供C api,各自平台根据习惯提供一层包装(比如Android提供了Java的包装,iOS提供了obj-c的包装)。而WebGL,虽然我没有接触,但我认为直接提供javascript api的可能性应该是最大的吧,而面向native code(C/C++)提供接口的可能性我认为不大,面向.NET/Java这类托管/VM环境下运行语言的需求我觉得也不是非常紧迫。
WebGL “基于”OpenGL ES 我的理解是函数命名、常量命名、常见的流程上应该和Open GL ES比较一致,也就是标准的制定上和OpenGL ES一致,而非其实现上基于OpenGL。事实上,OpenGL ES在PC各操作系统下的实现(官方提供了emulator sdk)依然是转换到OpenGL 1.x/2.0标准下执行。不过 我认为WebGL的实现基于DirectX的可能性依然不大,更可能的是和OpenGL ES一致,通过OpenGL 1.x/2.0的接口实现。
补充一下,WebGL在IE核浏览器下的实现应该是基于(或相关于)ANGEL项目,这是一套底层基于DirectX,而对外公开OpenGL接口的库。
webGL和openGL的联系和区别
webGL和openGL的区别为:性质不同、插件支持不同、用途不同。WebGL 2.0基于OpenGL ES 3.0,确保了提供许多选择性的WebGL 1.0扩展,并引入新的API。
一、性质不同
1、webGL:webGL的为。是一种用于展示各种3D模型和场景的绘图协议,并提供了3D图形的API。
2、openGL:openGL是用于渲染2D、3D矢量图形的跨语言、跨平台的应用程序编程接口(API)。
二、插件支持不同
1、webGL:webGL利用底层的图形硬件加速功能进行的图形渲染作,无需任何浏览器插件支持。
2、openGL:openGL通过HTML脚本本身实现Web交互式三维动画的制作,需要浏览器插件支持。
三、用途不同
1、webGL:webGL可被用于创建具有复杂3D结构的网站页面,甚至可以用来设计3D网页游戏等等。
2、openGL:openGL用于CAD、虚拟现实、科学可视化程序和电子游戏开发。
WebGL 和 OpenGL ES 有什么区别
opengl es是opengl的一个子集(但也有交叉不相等的地方),opengl是一系列的3d图形API,而opengl es是实现在一些嵌入式系统主要是手机(安卓、苹果)和浏览器的opengl标准。
在安卓里是用java实现的对c-api的封装,苹果里是objective-c实现的,而webgl就是javascript实现的opengl es。
全部评论