Wonder暫停開發,開始寫書

公告

你們好,咱們決定暫時中止開發Wonder,但會繼續維護當前的Wonder版本(如繼續維護官網、在線編輯器、QQ羣等)。html

咱們當前的主要任務是 寫書:基於Wonder 1.0版本的開發經驗,寫一本 「開發3D引擎」的實戰類型的書,歡迎你們關注~git

寫書計劃

以前我寫了《用函數式編程,從0開發3D引擎和編輯器》系列中的前3篇文章,主要從 思惟 層面來討論設計和開發過程。github

不過我認爲這樣的效果並很差,由於大部分讀者都沒有本身動手寫過3D引擎,對他們來講,思惟層面的討論太過空泛。編程

所以我決定,本書從 實戰 層面來討論,讓讀者能真正跟着本書,一步一步地寫出3D引擎,真正體驗到其中的快樂和成就感。api

此外,我決定把書的預覽稿做爲一個系列文章,發到網上,供讀者先行預覽,歡迎給我反饋意見! 系列文章: 從0開發3D引擎多線程

暫定書名

《3D編程旅程-從0開發3D引擎》架構

我準備在「3D編程」的主題上寫一系列的書,該系列暫名爲「3D編程旅程」。後續可能會有《3D編程旅程-應用》、《3D編程旅程-模式》、《3D編程旅程-測試》等書。編程語言

主題

本書使用函數式編程範式,從0開始,經過一行一行的代碼,寫出了 簡易的、徹底可運行的 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應用

相關資料

Wonder官網 「用函數式編程,從0開發3D引擎和編輯器」系列博文 「從0開發3D引擎」系列博文

相關文章
相關標籤/搜索