求 WebGL 和 three.js 学习路线

2017-09-23 11:26:00 +08:00
 orangutan92

最近花了将近一个月的时间整出了一个用 three.js 的 3D 多人在线网游的项目,想要深入学习,准备买本《 THREE.JS 开发指南》。我看了下《 WebGL 编程指南》里面有涉及到矩阵运算,我想知道的是,学习 WebGL 和 OpenGL 还需要哪些数学知识啊?感觉这个学习成本会比较高。。。我看网上的教程很多都比较老,相关的书籍也就那么几本。大家有什么好的建议吗?

9833 次点击
所在节点    WebGL
6 条回复
pangtianyu
2017-09-23 12:13:25 +08:00
怎么说呢 我觉得看官方 documentation 和一些 examples 就已经很管用了

https://stemkoski.github.io/Three.js/
https://threejs.org/examples/
https://threejs.org/docs/index.html#manual/introduction/Creating-a-scene

我也是有一个 project 要用到 three.js 然后看了这些硬上的。。。。
YyYyYyy
2017-09-23 14:49:54 +08:00
既然你提到了矩阵运算...
既然你提到了深入学习...
那么以下等式为恒等:
深入学习 three.js == 学习图形学
深入学习 WebGL == 学习图形学
深入学习 OpenGL == 学习图形学
深入学习 DirectX == 学习图形学
...

简而言之,想要深入学习任何一个图形 API/接口 /库,都等价于学习 Computer Graphics。这个东西学习成本就是比较高。
如果你是指深入学习这些 API 本身怎么用...
什么?一堆操作渲染管线的接口定义不是往下摸摸就到底了的东西吗?(一脸懵逼

-----------

图形学的数学基础在于
1.向量几何
2.线性代数

这些相信足够应付你所指的“深入”学习了。
然后你要做的是确定好你的开发平台,啃那个平台的渲染管线细节流程。
我不敢断言基于浏览器的 3D 渲染管线和一般的 3D 渲染管线一致,我没了解过 web 端的 3D 渲染。当然一致最好。

书籍方面,
管线请看《 Real-time rendering 3rd 》
你说太难了? http://www.opengl-tutorial.org/cn/ 或者 http://ogldev.atspace.co.uk/index.html

数学请看《 3D 数学基础:图形与游戏开发》(然而这书四元数那里有错,至少第一版是这样)

------------

什么!你说要深入到 SSAO 这种级别!
我们高数概率论里见
rashawn
2017-09-23 15:56:55 +08:00
api 直接看文档 做几个项目就熟了 数学的话要不然就系统的学 要不然就学英语 会搜索 到时候要实现啥效果现查现看 论文要能读得进去
humor66
2017-09-23 18:09:18 +08:00
不需要刻意去学,学到哪,需要什么就去补什么,矩阵运算是很基础的,这个必须熟透
but0n
2018-07-08 00:36:08 +08:00
@YyYyYyy SSAO 很复杂吗?个人觉得只是 Screen-space post effect 的一种吧
but0n
2018-07-08 00:48:24 +08:00
并不需要高端的数学知识,像我这种初中数学水平的艺术生,看看阮一峰的矩阵教程,也就能学会,自己也写了一套矩阵库、向量库、软渲染库

我用了一个月时间,看 webgl 编程指南,边看边敲代码,跟着书中的例子来就行了,最后也能写个 PBR 出来。
(这里吐槽一下,原生 webgl 写起来真累)
数学只是工具,对矩阵、向量的熟练,只会在调试的过程中给你更敏锐的直觉

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/393018

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX