V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
爱意满满的作品展示区。
WonderJack
V2EX  ›  分享创造

我写了本开源书:《3D 编程模式》

  •  3
     
  •   WonderJack ·
    Wonder-Technology · 2023-05-20 10:28:43 +08:00 · 2199 次点击
    这是一个创建于 590 天前的主题,其中的信息可能已经有所发展或是发生改变。

    大家好,我写了本开源书,罗列了我从自己的实战项目中提炼出来的关于 3D 编程(主要包括“3D 引擎 /游戏引擎”、“编辑器”开发)的各种编程模式

    本书的在线阅读地址在这里:在线阅读

    本书的源码在 Github 中,欢迎 star ,感恩您:Github 地址

    本书的写作花了我 300 多个小时,将近 3 个月的全职写作,凝结了我一万小时的开发经验,希望把最精华的部分抽象成“模式”,提供给大家使用,帮助大家设计出架构良好的 3D 引擎和编辑器

    整个写作过程我记录在下面的文章中:
    《 3D 编程模式》写书记录

    关于本书作者

    本书作者是杨元超,他之前在腾讯、阿里工作过,在 Web3D 领域有1 万小时的开发经验,主要负责 Web3D 引擎开发、编辑器开发

    他的代表作如下:

    他至少完全重写了 5 次 3D 引擎,完全重写了 2 次编辑器,commit 至少 7000 次,有效代码行数至少 20 万以上。

    他为 4 家公司提供了 3D 引擎和编辑器的技术顾问、咨询的服务

    他主要有下面的技术成果:
    我有什么知识沉淀

    本书特色

    • 使用函数式编程范式
    • 每个模式相互独立,用户可以选择性的阅读,降低学习成本
    • 模式是从实际开发经验中提炼而来,实战性强

    读者对象

    本书提出的 3D 编程模式主要适用于:

    • 3D 引擎开发
    • 编辑器及工具开发

    本书的目标读者如下:

    • 3D 引擎、游戏引擎开发者
    • 编辑器开发者
    • Web3D 开发者
    • 函数式编程的爱好者

    本书能给读者带来下面的收益:

    • 学习适用于函数式编程的设计原则
    • 学习 3D 引擎和编辑器的编程模式
    • 可以直接应用案例代码到项目中

    本书主要内容

    本书共分为 8 个章节,第 1 章结合项目的实战应用案例,回顾经典的设计原则;第 2-8 章根据自己 Web3D 引擎和编辑器的项目经验,提出了 7 种新的 3D 编程模式

    本书目录:

    • 第 1 章 再看设计原则
    • 第 2 章 依赖隔离模式
    • 第 3 章 积木模式
    • 第 4 章 管道模式
    • 第 5 章 ECS 模式
    • 第 6 章 多线程模式
    • 第 7 章 撤销重做模式
    • 第 8 章 拼接模式

    如何阅读本书

    本书中所有的例子都是用 Typescript 和 Rescript 语言实现的,以 Typescript 语言为主,其中图形 API 使用 WebGL

    在阅读此书前,读者应当有至少 2 年的开发经验,使用过 WebGL 、OpenGL 、DX9 等图形 API 或者开发过编辑器、工具等应用

    我建议读者按照下面的顺序阅读本书:
    1.阅读第一章,了解各个设计原则的定义和相关的案例说明
    2.按照个人的需要,选择性地阅读第二到八章的各个模式章节。读者可以首先阅读模式章节中的“使用场景”,如果符合自己的需求再详细阅读该模式章节

    致谢

    感谢各位热心的读者给出阅读反馈!感谢各位老师、大德的支持!

    12 条回复    2023-05-22 07:00:58 +08:00
    a33291
        1
    a33291  
       2023-05-20 10:50:15 +08:00
    数字艺术,10000 小时🤣
    pkwenda
        2
    pkwenda  
       2023-05-20 13:23:49 +08:00
    周末流量少,你应该在工作日发贴
    WonderJack
        3
    WonderJack  
    OP
       2023-05-20 13:32:22 +08:00
    @pkwenda 谢谢建议
    nojsja
        4
    nojsja  
       2023-05-20 14:50:54 +08:00
    出书
    vitovan
        5
    vitovan  
       2023-05-20 19:48:07 +08:00
    虽然没看太懂,但是觉得很厉害,加油!
    WonderJack
        6
    WonderJack  
    OP
       2023-05-20 19:59:06 +08:00
    @vitovan 谢谢
    Caturra
        7
    Caturra  
       2023-05-21 00:26:46 +08:00
    有 PDF 版本吗
    WonderJack
        8
    WonderJack  
    OP
       2023-05-21 05:38:01 +08:00
    @Caturra 直接在线阅读哈,什么场景需要 pdf ?
    Caturra
        9
    Caturra  
       2023-05-21 15:43:44 +08:00 via iPhone
    @WonderJack 感觉相比在线版,更方便做批注
    WonderJack
        10
    WonderJack  
    OP
       2023-05-21 16:52:41 +08:00
    @Caturra 了解了,谢谢
    lcwylxx921
        11
    lcwylxx921  
       2023-05-21 20:52:49 +08:00 via iPhone
    非常棒~ 这两天正好有空学习一下
    WonderJack
        12
    WonderJack  
    OP
       2023-05-22 07:00:58 +08:00
    @lcwylxx921 共同学习
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   1003 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 30ms · UTC 20:17 · PVG 04:17 · LAX 12:17 · JFK 15:17
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.