大家好,我在本文中分享了我收集的Web 3D相關的博客、書籍、教程、demo等內容,希望對大家學習有所幫助,謝謝~
相關博客
Wonder技術
Wonder是我們的產品,包含WebGL 3D引擎和編輯器。Wonder技術是Wonder在知乎上的專欄,分享Wonder的技術和資訊,歡迎大家關注~
淺墨的游戲編程
作者寫得非常詳細,推薦~
ZwqXin
比較老的博客,作者寫得不錯。
our machinery
原bitsquid引擎的開發者的新博客,分享了很多引擎設計、Data Oriented的干貨,非常推薦!
教程
WebGPU學習
WebGPU是W3C維護的新一代Web圖形API,對應DX12、Vulkan、Metal。該系列是我寫的WebGPU實戰教程,如果你想從0學習WebGPU,了解現代圖形API的技術要點,歡迎你閱讀它~
WebGL入門
WebGL的初級入門教程。
Learn OpenGL
作者分成一個個專題,講得非常仔細,讀完后能夠直接上手實戰,推薦~
WebGL demo
WebGL Samples
WebGL1的案例
WebGL 2 Examples
WebGL2的案例
新手入門
《WebGL編程指南》
非常易懂的實戰類書籍,讓讀者能零基礎學習和應用WebGL。
我就是從這本書開始學習WebGL的:
1.我找到了《WebGL編程指南》這本書,把大部分demo實現了一遍;
2.再次第二遍實現demo,提煉3D引擎的雛形;
3.用提煉的引擎實現了一個“自由瀏覽場景”的demo。
推薦度:5星
相關資料:
官網
《HTML5 Canvas核心技術:圖形、動畫與游戲開發》
本書不僅全面講解了Canvas的API和如何利用Canvas進行圖形繪制、動畫制作、物理效果模擬、碰撞檢測、游戲開發、移動應用開發,還包括大量實例,可操作性極強。
讀者可以從本書中學習Canvas、2D游戲開發的基本概念,學習如何簡單的2D游戲引擎。
雖然本書是關於2D的,但其中的游戲開發、游戲引擎相關內容跟3D還是有一定的共通性。
推薦度:4星
《OpenGL超級寶典》
本書詳細介紹了OpenGL 2.0的渲染流水線的各個階段(如深度測試等),通俗易懂,適合入門。
雖然本書介紹OpenGL 2.0,但因為WebGL 1對應OpenGL 2.0,所以本書的知識點也可以套用在WebGL 1中。
推薦度:4.5星
下載pdf-百度網盤鏈接 提取碼: c212
創業經歷
《Doom啟示錄》
本書講述了卡馬克創業的故事,非常有代入感。讀者可以看下國外黑客是如何憑一己之力寫出3D引擎的。推薦大家閱讀~
推薦度:5星
3D數學
《3D數學基礎 圖形與游戲開發》
本書講解矩陣、四元數等跟引擎開發非常相關的數學知識。
建議讀者先大概瀏覽一遍,有一個印象,然后在實際開發引擎的過程中再查詢該書的對應章節。
推薦度:4星
《計算幾何--算法與應用(第三版)》
本書是關於幾何相關的算法和應用。書中有部分算法(如求最小包圍圓等)在3D引擎和工具開發中會被使用。
建議讀者將其當成工具書,在開發中如果遇到相應問題,可查詢該書對應章節。
推薦度:3.5星
坐標系變換
OpenGL坐標變換及其數學原理,兩種攝像機交互模型(附源程序)
[OpenGL ES 03]3D變換:模型,視圖,投影與Viewport
架構設計
《游戲編程模式》
這是一本在線書,討論游戲中的設計模式。
這本書充滿了實踐經驗,討論得非常詳細,有指導意義。
“狀態模式”一章討論了並行狀態機、層次狀態機、下推自動機。
“服務定位器”一章對我來說是第一次接觸到這個模式。
“數據位置”一章是優化的重要和有用的方法,它強調了緩存命中的問題,其實就是在講Data Oriented相關的內容。
“空間分割”這一章也很重要,可以使用該技術來組織場景對象。
推薦度:4.5星
Data Oriented
A Data-Oriented Programming
Paradigm for Optimal Performance
Culling the Battlefield: Data Oriented Design in Practice
Adventures in data-oriented design – Part 1: Mesh data
下面的鏈接可能需要開vpn才能訪問,否則訪問很慢:
Building a Data-Oriented Entity System (part 1)
Building a Data-Oriented Entity System (Part 2: Components)
Building a Data-Oriented Entity System (Part 3: The Transform Component)
Building a Data-Oriented Entity System (Part 4: Entity Resources)
ECS
《守望先鋒》架構設計與網絡同步 -- GDC2017 精品分享實錄
函數式編程
JS 函數式編程指南
這本書作為我學習函數式編程的第一本書,非常容易上手,作者講得很簡單易懂,推薦~
Awesome FP JS
收集了函數式編程相關的資料。
F# for fun and profit
這個博客講了很多F#相關的函數式編程的知識,非常推薦!
如果你正在使用Reason或者Ocaml或者F#語言,建議到該博客中學習!
引擎
《游戲引擎架構》
本書全方位講解了3D引擎的設計以及一些重要的實現、優化細節,是一本好書!
本書的5、6、7、13、14章節對我開發的Wonder.js引擎的改進很有幫助,其中第14章有部分內容還討論了Data Oriented相關的設計。
推薦度:5星
Game Engine Gems 1-2
進階
《WebGL Insights》
本書相當於WebGL的gems書,每個章節都是一個專題,介紹了瀏覽器是怎么實現WebGL的、一些基於WebGL的實現的圖形渲染技術、現有的開源引擎(如babylonjs)的設計和優化等。
這是一本非常好的書,對深入WebGL、學習其他開源引擎的設計和優化、移動端WebGL開發和優化都很有幫助!
推薦度:5星
《OpenGL Insights》
本書相當於OpenGL的gems書了,每個章節都是一個專題,不僅包括OpenGL,也包括了WebGL方面的主題,是一本進階的書籍。
書中WebGL方面的專題、性能專題以及移動方面的專題(比如介紹了tile-based架構)都是很有用的。
書中最后還給出了OpenGL ES2.0的渲染管線圖。
推薦度:5星
《Real-Time Rendering》
本書講得很全,覆蓋了渲染的各個方面。不過不夠深入,偏理論。
相關參考:
【《Real-Time Rendering 3rd》 提煉總結】(一) 全書知識點總覽
推薦度:4.5星
專題講解
地形
《Focus On 3D Terrain Programming》
這本書比較老了,不過挺容易上手實戰的。我參考它實現了height map地形和分層地形。
推薦度:4星