Wonder暂停开发,开始写书
公告
大家好,我们决定暂时停止开发Wonder,但会继续维护当前的Wonder版本(如继续维护官网、在线编辑器、QQ群等)。
我们当前的主要任务是 写书:基于Wonder 1.0版本的开发经验,写一本 “开发3D引擎”的实战类型的书,欢迎大家关注~
写书计划
之前我写了《用函数式编程,从0开发3D引擎和编辑器》系列中的前3篇文章,主要从 思维 层面来讨论设计和开发过程。
不过我认为这样的效果并不好,因为大部分读者都没有自己动手写过3D引擎,对他们来说,思维层面的讨论太过空泛。
因此我决定,本书从 实战 层面来讨论,让读者能真正跟着本书,一步一步地写出3D引擎,真正体验到其中的快乐和成就感。
此外,我决定把书的预览稿作为一个系列文章,发到网上,供读者先行预览,欢迎给我反馈意见!
系列文章:
从0开发3D引擎
暂定书名
《3D编程旅程-从0开发3D引擎》
我准备在“3D编程”的主题上写一系列的书,该系列暂名为“3D编程旅程”。后续可能会有《3D编程旅程-应用》、《3D编程旅程-模式》、《3D编程旅程-测试》等书。
主题
本书使用函数式编程范式,从0开始,通过一行一行的代码,写出了 简易的、完全可运行的 3D引擎。
在线预览和反馈
读者反馈QQ群:
106047770
技术栈
- 使用Reasonml作为编程语言
- 使用WebGL 1作为底层api
篇幅
本书保持精简,专注在实现最小功能上,因此使用较少的篇幅。
策略
- 尽量多章节,每个章节内容尽可能独立和精简,减少读者负担
重点
-
设计
3D编程比较复杂,要让各个部分统一协调地工作,还要尽量地提高性能、增强扩展性。
本书会展示很多设计层面的思考,仔细地设计架构,不断地重构,提高代码质量。 -
实现
本书旨在让读者以最小的成本,快速实现一个简易的3D引擎。因此,本书不讨论 测试、工程化 等内容。
特色
1.完全从0开始,强调实战
2.保持精简,只实现最小功能,重点强调架构、扩展
3.完全、彻底地使用函数式编程
现在3D领域使用函数式编程的资料很少,主流还是使用面向对象。
我以前也是用面向对象,不过自从我开始接触函数式编程,就拥抱了它。
希望能通过本系列,向读者展示函数式编程的魅力,扩展读者的视野和思维。
能给你带来什么收益?
1.手把手教你如何从0开发3D引擎
2.学习函数式编程及其在3D领域的应用
3.学习3D编程中基础的功能实现,如纹理、光照、模型等
4.学习引擎的设计和架构,如Data Oriented、多线程等
目标读者群
尽管本书使用的是WebGL 1这个Web 3D编程的API,但本书的设计和实现的思想是通用的,适合整个3D编程领域。
-
3D编程爱好者
-
函数式编程爱好者
-
Web 3D开发工程师
-
3D引擎开发工程师
章节安排
第一部分:准备
主要内容:
- 准备预备知识
- 搭建开发环境
- 搭建测试环境
第二部分:基础
主要内容:
-
学习函数式编程
-
学习函数式反应式编程
-
学习Reason
第三部分:搭建雏形
主要内容:
-
编写最小的3D程序
-
从中提炼引擎
-
改进引擎架构
第四部分:增加功能
主要内容:
-
增加基础功能
-
加入Scene Graph
第五部分:增强扩展性
主要内容:
-
加入脚本组件
-
加入自定义材质
-
加入其它可能的扩展,如ui扩展等
第六部分:应用
主要内容:
-
通过引擎支持的扩展,加入实际应用需要的功能(如picking等)
-
实现几个完整的3D应用