设想这样的场景:要想开车,除了学习交规,掌握驾驶技术,你还必须清楚汽车各个部件的构造原理。
比如,汽油机是将空气与汽油以一定的比例混合成良好的混合气,在吸气冲程被吸入气缸,混合气经压缩点火燃烧而产生热能,高温高压的气体作用于活塞顶部,推动活塞做往复直线运动,通过连杆、曲轴飞轮机构对外输出机械能。
再说离合器。离合器位于发动机和变速箱之间的飞轮壳内……
如果将这些部件的工作原理作为必考内容,成绩不合格拿不到驾照。而这样做只是为了在汽车出现问题时,你能够找到症结所在。我相信很多人会崩溃。
就好像
WebGL
。《
Three.js
开发指南》一书中指出:
“
通过
WebGL
可以直接使用显卡的计算资源,创建高性能的二维和三维计算机图形,然后在
JavScript
里直接使用
WebGL
编程,创建三维场景并生成动画。但这个过程非常复杂,而且容易出错。
”
如果直接使用WebGL编程,
开发者需要掌握如何在画布上画点、线、面,怎么上色,怎么贴图,怎么处理光线,视角转动之后怎么换算绘制,等等。费时费力不说,还容易出错。
Three.js的出现在一定程度上解决了这个问题。Three.js是JavaScript编写的WebGL第三方库,封装了底层的图形接口。利用Three.js,Web开发者无需掌握繁冗的图形学知识,也能用简单的代码实现三维场景的
渲染。
但新的问题又出现了。Three.js虽然能够屏蔽WebGL的底层实现,但
它却并不容易掌握。虽然Three.js有免费的开源类库,但文档缺失,对数学要求高,学习难度不低。
如果你想学习Three.js,又苦于不能入门,那么极客学院近期上线的《Three.js可视化开发基础+实战》系列课程是个不错的选择。
本课程包含如下内容:
-
WebGL与Three.js介绍