分享

webgl intro

 RK34 2016-03-02
WebGL和3D图形规范OpenGL、通用计算规范OpenCL一样来自Khronos Group,而且免费开放,并于2010年上半年完成并公开发布。Adobe Flash Player 11、微软Silverlight 3.0也都已经支持GPU加速,但它们都是私有的、不透明的。WebGL标准工作组的成员包括AMD,爱立信,谷歌,Mozilla,Nvidia以及Opera等,这些成员会与Khronos公司通力合作,创建一种多平台环境可用的WebGL标准,预计WebGL标准会在2011年上半年首度公开发布,该标准将完全免费对外提供。


WebGL完美地解决了现有的Web交互式三维动画的两个问题:第一,它通过HTML脚本本身实现Web交互式三维动画的制作,无需任何浏览器插件支持;第二,它利用底层的图形硬件加速功能进行的图形渲染,是通过统一的、标准的、跨平台的OpenGL接口实现的。


WebGL是一个跨平台、免费的底层3D绘图API的Web标准,它基于OpenGL ES 2.0标准。WebGL是网页上渲染三维图形图像的技术,它本身是HTML5规范的一部分。WebGL通过HTML5 Canvas元素对外暴露DOM编程接口。

WebGL全称是Web-based Graphics Language,它提供了使用JavaScript与GPU交互的方法。


让我们来回顾一下在WebGL诞生之前的情况。在没有WebGL的日子,我们要在网页上实现三维图形的显示,该怎么办?

  当然,首选的是Adobe公司的Flash技术。有了Flash技术,我们可以在网页上显示2D/3D图像,以及动画。但是,浏览器是不能直接显示Flash内容的,于是需要安装插件——Flash Player。

  其次就是微软的Silverlight技术,俗称“银光”,银光技术与Flash技术相似,功能也是同样的强大,遗憾的是,银光技术同样的需要在浏览器上安装插件。

  除此之外,还有一些非主流的技术,这些技术都不如Flash或者Silverlight,而且同样的都有需要浏览器安装插件的缺点,因此就不再一一列举了。

  WebGL是一个伟大的技术,它使得浏览器摆脱了需要插件的麻烦,可以可以让网页渲染直接调用显卡GPU来搞定,大大加快了网页显示的速度,而且编程接口使用的是统一、标准、跨平台的OpenGL接口实现。WebGL技术一出现,就引起了全球的关注,国际主流的IT公司包括Apple、Google、微软等都纷纷支持WebGL规范,推动了WebGL技术的发展。

  对于很多想要学习WebGL的爱好者来说,最关心的话题莫过于WebGL该怎样学习,如何才能做到掌握、精通WebGL技术。对于这一点,我总结了一些思路,供大家参考。

  要学习WebGL,需要循序渐进的掌握以下内容:

  0)熟悉最好是精通JavaScript语言

  1)理解模型视图矩阵,以及怎样设置场景

  2)掌握渲染和操纵原语

  3)理解着色器,精通着色器的功能

  4)掌握创建虚拟场景的技术

  5)掌握使用基本的物理规则来模拟互动

  6)熟悉使用数学模型来渲染粒子系统、地形以及不规则碎片

  7)掌握Three.js框架

  8)熟悉GLGE和philoGL框架

  9)积累WebGL的调试技巧和性能优化技巧

  10)熟悉WebGL规范

  WebGL的官方主页见:http://cn./webgl

  《WebGL编程指南》是博文视点推出的、国内第一本描述WebGL技术的专著,对于需要这方面资料的爱好者来说,你们没有其他选择,只能看这个。这本书我也没看,所以也无从点评其内容。不管怎么样,作为一个新技术的“布道者”或者是“指引者”,这本书还是值得买来一读的。


webgl是HTML5中提出的新技术,是一种3D绘图标准,这种绘图技术标准允许把JavaScript和OpenGL ES 2.0结合在一起,关于它的教程可以看看hiwebgl。目前兼容性堪忧

three.js是以webgl为基础的库,封装了一些3D渲染需求中重要的工具方法与渲染循环。它的教程同样可以在hiwebgl里面找到。



    本站是提供个人知识管理的网络存储空间,所有内容均由用户发布,不代表本站观点。请注意甄别内容中的联系方式、诱导购买等信息,谨防诈骗。如发现有害或侵权内容,请点击一键举报。
    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多