超简单的OpenGL & WebGL & Three.js介绍

Posted aqin1012

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了超简单的OpenGL & WebGL & Three.js介绍相关的知识,希望对你有一定的参考价值。

专业解释

什么是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

 

额现酱。。。有问题欢迎指正~

 

以上是关于超简单的OpenGL & WebGL & Three.js介绍的主要内容,如果未能解决你的问题,请参考以下文章

WebGL或OpenGL关于模型视图投影变换的设置技巧

图解WebGL与Threejs工作原理

WebGL和OpenGL的差异 - UNPACK_PREMULTIPLY_ALPHA_WEBGL

前端可视化 OpenGL / WebGL 入门和实践

GISER&&PainterWebGL渲染初体验

openGL、WebGL、Three.js的关系