前言

  Three.js是众多WebGL三维引擎框架其中之一,如果你从事网页设计,你可以把three.js与前端框架Jquery对比,都是对底层的封装,编程语言都是脚本语言Javascript;如果你对图形学非常了解,使用过 OpenGL或OpenGL ES标准在相应的平台上开发3D产品,你很容易明白WebGL是运行在浏览器端的标准,three.js是对WebGL API和运行在GPU上的着色器语言GLSL ES的封装,通过封装降低开发门槛,尤其不了解图形学的前端 工程师。

  不是所有的前端工程师都有独立开发JQuery框架的能力,仍然可以进行网页设计;不是所有的Web3D工程师都能够独立封装一个WebGl三维引擎,同样也可以利用three.js进行网页上的三维场景(机械、建筑、游戏等)创建。 如果你对图形学的底层知识很感兴趣,学习three.js框架对于学习WebGL也是有帮助的,如果你想独立封装一个行业应用的WebGL引擎,既然有现成的,为什么不借鉴,其实你最后会发现你封装的代码会越来越像成熟的三维引擎。如果你想更好的 掌握three.js,学习底层的WebGL也是很有帮助的,如果想学习WebGL可以关注本站的相关教程,在本教程高级部分里面会结合WebGL API为大家讲解three.js,不仅能够使用three.js也要学习如何二次开发,适应自己的领域。

  大家可以对照下你有没有下面的情形:

1.  原来从事非互联网行业,但是想实现自己的的想法。我希望开发一个支持商品在线预览的网站,我希望可以实现机械零件的在线预览,我希望可以无插件在线部署游戏,我希望开发基于WebGL技术的导航地图, 我想把自己的室内设计方案在网页上展示出来,我希望能有一款不用下载运行在浏览器端的CAD软件、平面设计软件。

2.  我是前端工程师,不了解计算机图形学,但是对于你来说,至少占据了HTML、CSS、BOM、DOM和编程语言Javascript的优势,系需要学习3D部分,由于three.js已经对WebGL进行封装,难度自然降低。

3.  我对计算机图形学非常了解,不了解互联网这个生态。不谈论图形学领域,很多应用软件也开始在网页部署,说明基于浏览器平台的开发是一种潮流。对于你来说选择WebGL和three.js,选择的不仅仅是技术,也是潮流。 有图形学的基础,学习three.js相比前端工程师更有后发力,利用前端的HTML和CSS相比基于操作系统平台设计图形交互界面GUI要方便得多,对于个人来说,没有专门团队创建GUI框架,也能很容易设计交互性、可视性很好的界面。

4.  利用three.js创建的项目体积越来越大,如何精简代码成为了难题,对于你来说,需要加强的是WebGL基础知识,和Javascript组件、框架设计的能力,如何封装、压缩、复用代码,可以关注教程的高级部分。

5.  为了压缩模型代码,不想用three.js去解析obj、stl等格式的文件,怎么用代码层层抽象复用。