专业解释
什么是OpenGL
OpenGL(Open Graphics Library即开放图形库或者“开放式图形库”)是用于渲染2D、3D矢量图形的跨语言、跨平台的应用程序编程接口(API)。
这个接口由近350个不同的函数调用组成,用来从简单的图形比特绘制复杂的三维景象。
OpenGL ES (OpenGL for Embedded Systems) 是 OpenGL 三维图形 API 的子集,针对手机、PDA和游戏主机等嵌入式设备而设计。
该API由Khronos集团定义推广(Khronos是一个图形软硬件行业协会,该协会主要关注图形和多媒体方面的开放标准)。
注:引自百度百科
什么是WebGL
WebGL是基于OpenGL ES 2.0的Web标准,可以通过HTML5 Canvas元素作为DOM接口访问。
WebGL可以看做是将OpenGL ES(上面有解释)移植到了网页平台。
像Chrome、Firefox这些现代浏览器都实现了WebGL标准,使用JavaScript就可以用你熟悉的、类似OpenGL的代码编写了。
可以把WebGL简单地认为是一种底层的网络标准,定义了一些较底层的图形接口,在这些标准被定义之后,Chrome、Firefox之类的浏览器实现了这些标准。
程序员就能通过JavaScript代码,在网页上实现三维图形的渲染。
什么是Three.js
Three.js是一个3D JavaScript库。
Three.js封装了底层的图形接口,使得程序员能够在无需掌握繁冗的图形学知识的情况下,也能用简单的代码实现三维场景的渲染。
Three.js是基于MIT协议进行发布的,因此使用和发布都非常自由。(MIT协议是一种作者只想保留版权,而无任何其他限制的开源许可协议)
注:引自《Three.js入门指南》作者:张雯莉
超简单理解
OpenGL是一个跨平台的底层图形库,是一个专业的图形程序接口。
OpenGL ES 是从 OpenGL的嵌入式版本,是从 OpenGL 裁剪的定制而来的,去除了部分特性。
WebGL是一种3D绘图协议,它允许把JavaScript和OpenGL ES结合在一起,使Web交互式三维动画得实现变得方便快捷。
Three.js是对WebGL的封装和简化。
简单与节省代码的程度:Three.js>WebGL>OpenGL
额现酱。。。有问题欢迎指正~
原文地址:https://www.cnblogs.com/aqin1012/p/11664390.html