几年前,Java应用程序(作为applet和JOGL的组合)被用于通过解决GPU(图形处理单元)来处理Web上的3D图形。当小程序需要JVM运行时,变得难以依赖Java小程序。几年后,人们停止使用Java小程序。
Adobe(Flash,AIR)提供的Stage3D API提供GPU硬件加速架构。使用这些技术,程序员可以在Web浏览器以及IOS和Android平台上开发具有2D和3D功能的应用程序。由于Flash是专有软件,因此不被用作Web标准。
OpenGL(Open Graphics Library)是用于2D和3D图形的跨平台的跨平台API。它是一组命令。OpenGL4.5是OpenGL的最新版本。下表列出了与OpenGL相关的一系列技术。
API | 使用技术 |
---|---|
OpenGL ES | 它是嵌入式系统中的2D和3D图形库,包括控制台,手机,电器和车辆。OpenGL ES 3.1是其最新版本。它由Khronos集团维护www.khronos.org |
JOGL | 它是OpenGL的Java绑定。JOGL 4.5是其最新版本,由jogamp.org维护。 |
WebGL | 它是OpenGL的JavaScript绑定。WebGL 1.0是其最新版本,由khronos组维护。 |
OpenGLSL | OpenGL着色语言。它是一种与OpenGL 2.0及更高版本相关的编程语言。它是OpenGL 4.4核心规范的一部分。它是专为嵌入式系统定制的API,例如手机和平板电脑上存在的API。 |
注意 - 在WebGL中,我们使用GLSL来编写着色器。
WebGL(Web图形库)是Web上3D图形的新标准,它旨在渲染2D图形和交互式3D图形。它来源于OpenGL的ES 2.0库,它是用于手机和其他移动设备的低级3D API。WebGL提供了类似的ES 2.0(嵌入式系统)功能,并且在现代3D图形硬件上表现良好。
它是可以与HTML5一起使用的JavaScript API。HTML5具有支持2D画布,WebGL,SVG,3D CSS变换和SMIL等3D图形的多项功能。
WebGL代码写在HTML5 的<canvas>标签中。这是一个允许Internet浏览器访问使用它们的计算机上的图形处理单元(GPU)的规范。
美国塞尔维亚软件工程师Vladimir Vukicevic做了基础工作,并领导了WebGL的创建。
在2007年,Vladimir开始为HTML文档的Canvas元素开发OpenGLprototype。
2011年3月,Kronos Group创建了WebGL。
下表显示支持WebGL的浏览器列表 -
浏览器名称 | 版 | 支持 |
---|---|---|
我的互联网E xplorer | 11及以上 | 完全支持 |
谷歌浏览器 | 39及以上 | 完全支持 |
苹果浏览器 | 8 | 完全支持 |
Firefox | 36及以上 | 部分支持 |
歌剧 | 27及以上 | 部分支持 |
浏览器名称 | 版 | 支持 |
---|---|---|
适用于Android的Chrome | 42 | 部分支持 |
Android浏览器 | 40 | 部分支持 |
IOS Safari | 8.3 | 完全支持 |
歌剧迷 | 8 | 不支持 |
黑莓浏览器 | 10 | 完全支持 |
IE手机 | 10 | 部分支持 |
以下是使用WebGL的优点 -
JavaScript编程 - WebGL应用程序是用JavaScript编写的。使用这些应用程序,您可以直接与HTML文档的其他元素交互。您还可以使用其他JavaScript库(例如JQuery)和HTML技术丰富WebGL应用程序。
通过移动浏览器增加支持--WebGL还支持移动浏览器,如iOS safari,Android浏览器和Chrome for Android。
开源 - WebGL是一个开源的。您可以访问库的源代码,并了解它的工作原理以及开发方法。
不需要编译 - JavaScript是半编程和半HTML组件。要执行此脚本,无需编译该文件。相反,您可以使用任何浏览器直接打开文件,并检查结果。由于WebGL应用程序是使用JavaScript开发的,因此也不需要编译WebGL应用程序。
自动内存管理 - JavaScript支持自动内存管理。无需手动分配内存。WebGL继承了JavaScript的这一功能。
易于设置 - 由于WebGL集成在HTML 5中,因此无需额外的设置。要编写WebGL应用程序,您需要的是一个文本编辑器和一个Web浏览器。
不需要为WebGL设置不同的环境。支持WebGL的浏览器有自己的内置WebGL设置。