Skip to main content

前言

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

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

关于本书作者

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

他的代表作如下:

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

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

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

大家可以通过下面的方式关注他,与他交流,谢谢:

QQ群:
QQ群图

微信号: chaogex
他的知乎
他的免费的知识星球
他的博客

本书特色

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

读者对象

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

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

本书的目标读者如下:

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

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

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

本书主要内容

本书共分为八个章节,第一章结合项目的实战应用案例,回顾经典的设计原则;第二-八章根据自己Web3D引擎和编辑器的项目经验,提出了7种新的3D编程模式。其中,7种模式章节的写作套路是:
1.给出一个项目需求
2.按照最简单的方式实现需求
3.发现问题
4.使用模式来改进
5.正式提出模式,给出模式的定义、UML、抽象代码
6.说明模式的优缺点,以及使用场景
7.扩展
8.更多的说明

如何阅读本书

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

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

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

致谢

感谢读者的支持!感谢妈妈、爷爷等家人的支持!感谢各位热心的网友给出的阅读反馈!感谢各位老师、大德的支持!