前言
本书罗列了我从自己的实战项目中提炼出来的关于3D编程(主要包括“3D引擎/游戏引擎”、“编辑器”开发)的各种编程模式。
本书的源码在Github中,欢迎star,感恩您:
Github地址
关于本书作者
本书作者是杨元超,他之前在腾讯、阿里工作过,在Web3D领域有1万小时的开发经验,主要负责Web3D引擎开发、编辑器开发
他的代表作如下:
他至少完全重写了5次3D引擎,完全重写了2次编辑器,commit至少7000次,有效代码行数至少20万以上。
他为4家公司提供了3D引擎和编辑器的技术顾问、咨询的服务
他主要有下面的技术成果:
我有什么知识沉淀
大家可以通过下面的方式关注他,与他交流,谢谢:
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.按照个人的需要,选择性地阅读第二到八章的各个模式章节。读者可以首先阅读模式章节中的“使用场景”,如果符合自己的需求再详细阅读该模式章节
致谢
感谢读者的支持!感谢妈妈、爷爷等家人的支持!感谢各位热心的网友给出的阅读反馈!感谢各位老师、大德的支持!