WebGL 学习路线

2,080 阅读4分钟

最近经常会有同学跟我说前端不景气,想转WebGL,希望我给他一些指导。

其实我并不觉得自己有多厉害,所以说不上指导,只能给大家分享一些自己的经验和学习路线 。

先简单说一下我对当下2024年的市场背景的认知。

2024年的市场背景之我见

现在的市场极其不好,我不是在贩卖焦虑,是真的不好。

因为我自己也在找工作,对比之下,还不如去年。

去年我也找过工作,那时还能拿到很多offer,还可以挑挑拣拣的。

而今年再找工作,我是四天前开始找的,感觉画风有点变了。

以前的猎头都是来者不拒,现在的猎头变成了大爷。

以前找工作久了,我也结识了几个不错的猎头朋友,他们跟我说得都差不多,就是现在找工作的人非常多,招工的公司又特别少,今年这种供求关系的不平衡比前些年都要严重。

实际上,根据我去年在北京的亲身体验,也确实如此,很多黄金地段的广场开不起来,中关村中央地带的食宝街都拆了。

还有许多软件园也开不起来,中关村的数字山谷空了,2019年的熙熙攘攘变成了追忆。

我2023年底在中关村壹号的滴滴待了一段时间,那里倒还可以,不过很多楼还是不满的。

虽然现在的市场环境不好,但我相信冬天终将会过去的。

就比如义乌,始终热火朝天,没怎么受大环境影响。

现在在我老家的小镇的街上,倒闭的店铺也重新开张了,虽然大部分换了新的门面,但热热闹闹的生活氛围又回来了。

接下来咱们聊一下WebGL的学习路线。

WebGL的学习路线

1.熟练掌握高中数学。

这是我一直在强调的,高中数学是数学的精华和基础,是你走计算机图形学路线所必备的。

有许多WebGL教程或老师刻意回避数学,甚至鼓吹数学不重要,只强调实战效果,这是目光短浅的。

在WebGL里,以至计算机图形学里,越往后走,你会越发现,数学即代码。

2.深刻理解线性代数。

推荐3Blue1Brown 的《线性代数的本质》

3.学习计算机图形学。

推荐闫大神的games101

4.学习WebGL。

图书推荐《WebGL编程指南》。

视频推荐我自己的WebGL 课程

5.学习three.js

three.js 我讲了一部分,可以给大家入个门。

three.js 官方也有教程,大家也可以照着three.js 里的官方案例,结合其文档和源码去学习。

网上的three.js 教程挺多的,但我看的不多,我自己一般都是看three.js源码。

学习顺序

当你掌握了向量和矩阵相关运算知识,就可以看WebGL,当你对WebGL的渲染流程有了一个基本的认知,你就可以学three.js。

满足了上面条件后,你就没必要先学完一块再学一块,他们之间是可以相互印证的。

比如你在three.js 里遇到了四元数Quaternion,你若不理解其运算规则和性质,那就可以再去数学里学这块。

亦或者,当你看到three.js 里许多透明度合成、模板缓冲区相关的参数,若不理解其意思,你就可以去WebGL里找,因为Three.js 就是封装的WebGL,你总是可以从源头找到答案。

反正最终,我们都是要把这些东西慢慢掌握,越走越远的。

总结

WebGL 无法一蹴而就,three.js 也无法像一些前端工具库一样现学现用。

若我们不理解WebGL 原理和图形学,即使我们可以暂时照着教程用three.js做一些炫酷的实战项目,但在实际工作中,也很难灵活自如的满足其多样化需求。

所以最终我们还是需要拿出一定的时间来稳扎稳打的。

对于WebGL 的学习时间,有图形学基础的话,至少是需要三个月的,我以前没有图形学基础,学了八个月。

换赛道的同学需要提前有个这样的心理准备。

希望大家都可以找到自己喜欢的工作,也希望市场环境早日恢复,越来越好!

后记

2024年7月29日,历时36天,我拿到了小米的offer,职务是开发机器人相关前端项目。

小米是一家非常有活力、有创造力的公司,这里有着很棒的学习氛围和生活氛围,我觉得这对我而言是非常幸运的。

附带一张小米超级汽车厂的靓照:

a7d9266d9c7afb2de1a59c12d13327a.jpg