最近花了将近一个月的时间整出了一个用 three.js 的 3D 多人在线网游的项目,想要深入学习,准备买本《 THREE.JS 开发指南》。我看了下《 WebGL 编程指南》里面有涉及到矩阵运算,我想知道的是,学习 WebGL 和 OpenGL 还需要哪些数学知识啊?感觉这个学习成本会比较高。。。我看网上的教程很多都比较老,相关的书籍也就那么几本。大家有什么好的建议吗?
1
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 然后看了这些硬上的。。。。 |
2
YyYyYyy 2017-09-23 14:49:54 +08:00 3
既然你提到了矩阵运算...
既然你提到了深入学习... 那么以下等式为恒等: 深入学习 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 这种级别! 我们高数概率论里见 |
3
rashawn 2017-09-23 15:56:55 +08:00 via iPhone
api 直接看文档 做几个项目就熟了 数学的话要不然就系统的学 要不然就学英语 会搜索 到时候要实现啥效果现查现看 论文要能读得进去
|
4
humor66 2017-09-23 18:09:18 +08:00 via iPhone
不需要刻意去学,学到哪,需要什么就去补什么,矩阵运算是很基础的,这个必须熟透
|
5
but0n 2018-07-08 00:36:08 +08:00 via iPhone
@YyYyYyy SSAO 很复杂吗?个人觉得只是 Screen-space post effect 的一种吧
|
6
but0n 2018-07-08 00:48:24 +08:00 via iPhone
并不需要高端的数学知识,像我这种初中数学水平的艺术生,看看阮一峰的矩阵教程,也就能学会,自己也写了一套矩阵库、向量库、软渲染库
我用了一个月时间,看 webgl 编程指南,边看边敲代码,跟着书中的例子来就行了,最后也能写个 PBR 出来。 (这里吐槽一下,原生 webgl 写起来真累) 数学只是工具,对矩阵、向量的熟练,只会在调试的过程中给你更敏锐的直觉 |