V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
orangutan92
V2EX  ›  WebGL

求 WebGL 和 three.js 学习路线

  •  1
     
  •   orangutan92 · 2017-09-23 11:26:00 +08:00 · 10100 次点击
    这是一个创建于 2616 天前的主题,其中的信息可能已经有所发展或是发生改变。

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

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

    我用了一个月时间,看 webgl 编程指南,边看边敲代码,跟着书中的例子来就行了,最后也能写个 PBR 出来。
    (这里吐槽一下,原生 webgl 写起来真累)
    数学只是工具,对矩阵、向量的熟练,只会在调试的过程中给你更敏锐的直觉
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   3339 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 27ms · UTC 11:40 · PVG 19:40 · LAX 03:40 · JFK 06:40
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.