WebGL介绍

几年以前,要想在web上运行3D应用,需要借助Java或Stage3D。Java的applet和JOGL需要JVM运行环境,部署非常不方便,没用几年,开发人员就停止使用java applet。Stage3D API是Adobe(Flash,AIR)提供的GPU硬件加速3D API,但是由于Flash是商业软件,它不能做为web标准。

OpenGL是跨语言、跨平台的2D、3D绘图API。OpenGL 4.5是OpenGL的最新版本,下面表格列出的技术都基于OpenGL。

API描述
OpenGL ES为嵌入式系统提供的2D、3D API。包括掌机、手机、汽车。OpenGL ES 3.1是最新版本,它的维护者是Khronos Group
JOGL它是Java绑定的OpenGL,JOGL的最新版本是4.5。维护者 jogamp.org
WebGL它是JavaScript绑定的OpenGL,WebGL 1.0是最新版本,维护者khronos group
OpenGLSLOpenGL着色器语言,支持的opengl版本2.0或更高,

注意:在WebGL中,使用GLSL语言写shader。

什么是WebGL

WebGL是新的web 3D图形标准API,设计用来在浏览器上渲染2D、3D图形。它是基于OpenGL ES 2.0 API,WebGL提供和ES 2.0相似的功能,并且支持流行的显卡。它提供的是JavaScript语言API,可以用在HTML5中。

HTML5中有一些特性用来支持3D绘图:2D Canvas,WebGL,SVG,3D CSS transforms,SMIL。

WebGL代码写在HTML5的<canvas>标签上。

谁开发的WebGL

一个叫Vladimir Vukicevic的美国软件工程师,他做了基本的工作,并领导了WebGL的开发。

  • 在2007年,Vladimir开始使用OpenGL协议创建html的canvas标签。
  • 在2011年3月,Kronos Group创建了WebGL。

浏览器支持情况

桌面:

浏览器版本支持情况
IE11或以上完全支持
Google Chrome39或以上完全支持
Safari8完全支持
FireFox36或以上部分支持
Opera27或以上部分支持

手机:

浏览器版本支持
Chrome for android42部分支持
Android Browser40部分支持
IOS Safari8.3完全支持
Opera Mini8不支持
BlackBerry Browser10完全支持
IE mobile10部分支持

WebGL的一些优势

  • JavaScript语言:WebGL应用使用JavaScript编写,你可以直接和html的其它元素交互,也可以在应用中使用JavaScript现成的库(如,JQuery)。
  • 支持移动浏览器
  • 开源代码:WebGL是开源的。
  • 不用编译:直接在浏览器中打开文件,查看结果。
  • 自动内存管理:Javascript支持自动内存管理,不用手动管理内存。
  • 轻松设置开发环境:一个喜欢的编辑器和一个web浏览器。

发表评论

电子邮件地址不会被公开。 必填项已用*标注