大家好,我在本文中分享了我收集的WebGL 3D相关的博客、书籍、教程、demo等内容,希望对大家学习WebGL和3D有所帮助,谢谢~

相关博客

Wonder技术 <https://zhuanlan.zhihu.com/c_1089189122089947136>
Wonder <https://www.wonder-3d.com/>是我们的产品,包含WebGL
3D引擎和编辑器。Wonder技术是Wonder在知乎上的专栏,分享Wonder的技术和资讯,欢迎大家关注~

浅墨的游戏编程 <https://zhuanlan.zhihu.com/game-programming>
作者写得非常详细,推荐~

ZwqXin <http://www.zwqxin.com/>
比较老的博客,作者写得不错。

our machinery <https://ourmachinery.com/post/>
原bitsquid引擎的开发者的新博客,分享了很多引擎设计、Data Oriented的干货,非常推荐!

教程

WebGL入门 <https://blog.csdn.net/lufy_Legend/column/info/WebGL>
WebGL的初级入门教程。

Learn OpenGL <https://learnOpenGL.com/Introduction>
作者分成一个个专题,讲得非常仔细,读完后能够直接上手实战,推荐~

WebGL demo

WebGL Samples <https://WebGLsamples.org>
WebGL1的案例

WebGL 2 Examples <https://github.com/tsherif/WebGL2examples>
WebGL2的案例

新手入门



《WebGL编程指南》

非常易懂的实战类书籍,让读者能零基础学习和应用WebGL。

我就是从这本书开始学习WebGL的:
1.我找到了《WebGL编程指南》这本书,把大部分demo实现了一遍;
2.再次第二遍实现demo,提炼3D引擎的雏形;
3.用提炼的引擎实现了一个“自由浏览场景”的demo。

推荐度:5星

豆瓣书评 <https://book.douban.com/subject/25909351/>

下载地址
<https://github.com/yyc-git/MyData/blob/master/3d/WebGL%E7%BC%96%E7%A8%8B%E6%8C%87%E5%8D%97.pdf>

相关资料:
官网 <https://sites.google.com/site/WebGLbook/>



《HTML5 Canvas核心技术:图形、动画与游戏开发》


本书不仅全面讲解了Canvas的API和如何利用Canvas进行图形绘制、动画制作、物理效果模拟、碰撞检测、游戏开发、移动应用开发,还包括大量实例,可操作性极强。

读者可以从本书中学习Canvas、2D游戏开发的基本概念,学习如何简单的2D游戏引擎。
虽然本书是关于2D的,但其中的游戏开发、游戏引擎相关内容跟3D还是有一定的共通性。

推荐度:4星

豆瓣书评 <https://book.douban.com/subject/24533314/>

购买地址
<https://www.taobao.com/list/product/html5canvas%E6%A0%B8%E5%BF%83%E6%8A%80%E6%9C%AF.htm>

创业经历

《Doom启示录》

本书讲述了卡马克创业的故事,非常有代入感。读者可以看下国外黑客是如何凭一己之力写出3D引擎的。推荐大家阅读~

推荐度:5星

豆瓣书评 <https://book.douban.com/subject/1152971/>

下载地址 <https://github.com/yyc-git/MyData/blob/master/3d/DOOM.pdf>

3D数学



《3D数学基础 图形与游戏开发》

本书讲解矩阵、四元数等跟引擎开发非常相关的数学知识。

建议读者先大概浏览一遍,有一个印象,然后在实际开发引擎的过程中再查询该书的对应章节。

推荐度:4星

豆瓣书评 <https://book.douban.com/subject/1400419/>

下载地址
<https://github.com/yyc-git/MyData/blob/master/3d/3D%E6%95%B0%E5%AD%A6%E5%9F%BA%E7%A1%80/3D%E6%95%B0%E5%AD%A6%E5%9F%BA%E7%A1%80%20%E5%9B%BE%E5%BD%A2%E4%B8%8E%E6%B8%B8%E6%88%8F%E5%BC%80%E5%8F%91.pdf>



《计算几何--算法与应用(第三版)》

本书是关于几何相关的算法和应用。书中有部分算法(如求最小包围圆等)在3D引擎和工具开发中会被使用。

建议读者将其当成工具书,在开发中如果遇到相应问题,可查询该书对应章节。

推荐度:3.5星

豆瓣书评 <https://book.douban.com/subject/3893574/>

下载地址
<https://github.com/yyc-git/MyData/blob/master/3d/3D%E6%95%B0%E5%AD%A6%E5%9F%BA%E7%A1%80/%E8%AE%A1%E7%AE%97%E5%87%A0%E4%BD%95--%E7%AE%97%E6%B3%95%E4%B8%8E%E5%BA%94%E7%94%A8(%E7%AC%AC%E4%B8%89%E7%89%88).pdf>

坐标系变换

OpenGL坐标变换及其数学原理,两种摄像机交互模型(附源程序)
<http://www.cnblogs.com/liangliangh/p/4089582.html>

[OpenGL ES 03]3D变换:模型,视图,投影与Viewport
<http://www.cnblogs.com/kesalin/archive/2012/12/06/3D_math.html>

齐次坐标系入门级思考 <https://oncemore.wang/blog/homogeneous/>

架构设计



《游戏编程模式》

这是一本在线书,讨论游戏中的设计模式。

这本书充满了实践经验,讨论得非常详细,有指导意义。

“状态模式”一章讨论了并行状态机、层次状态机、下推自动机。
“服务定位器”一章对我来说是第一次接触到这个模式。
“数据位置”一章是优化的重要和有用的方法,它强调了缓存命中的问题,其实就是在讲Data Oriented相关的内容。
“空间分割”这一章也很重要,可以使用该技术来组织场景对象。

推荐度:4.5星

豆瓣书评 <https://book.douban.com/subject/26880704/>

在线阅读 <https://gpp.tkchu.me/>

Data Oriented

A Data-Oriented Programming
Paradigm for Optimal Performance
<http://twvideo01.ubm-us.net/o1/vault/gdcchina14/presentations/833779_MiloYip_ADataOriented_EN.pdf>

Culling the Battlefield: Data Oriented Design in Practice
<https://www.slideshare.net/DICEStudio/culling-the-battlefield-data-oriented-design-in-practice>

Adventures in data-oriented design – Part 1: Mesh data
<https://blog.molecular-matters.com/2011/11/03/adventures-in-data-oriented-design-part-1-mesh-data-3/>

《Data-Oriented Design》 <http://www.dataorienteddesign.com/dodmain/dodmain.html>

下面的链接可能需要开vpn才能访问,否则访问很慢:

Building a Data-Oriented Entity System (part 1)
<https://gamedev.autodesk.com/blogs/1/post/5289103338905524974>

Building a Data-Oriented Entity System (Part 2: Components)
<https://gamedev.autodesk.com/blogs/1/post/8872071455012261641>

Building a Data-Oriented Entity System (Part 3: The Transform Component)
<https://gamedev.autodesk.com/blogs/1/post/757303077912211655>

Building a Data-Oriented Entity System (Part 4: Entity Resources)
<https://gamedev.autodesk.com/blogs/1/post/1728389959875415220>

ECS

《守望先锋》架构设计与网络同步 -- GDC2017 精品分享实录 <http://gad.qq.com/article/detail/28682>

浅谈《守望先锋》中的 ECS 构架 <https://blog.codingnow.com/2017/06/overwatch_ecs.html>

函数式编程

JS 函数式编程指南
<https://legacy.gitbook.com/book/llh911001/mostly-adequate-guide-chinese/details>
这本书作为我学习函数式编程的第一本书,非常容易上手,作者讲得很简单易懂,推荐~

Awesome FP JS <https://github.com/stoeffel/awesome-fp-js>
收集了函数式编程相关的资料。

F# for fun and profit <https://fsharpforfunandprofit.com/site-contents/>
这个博客讲了很多F#相关的函数式编程的知识,非常推荐!
如果你正在使用Reason或者Ocaml或者F#语言,建议到该博客中学习!

引擎



《游戏引擎架构》

本书全方位讲解了3D引擎的设计以及一些重要的实现、优化细节,是一本好书!
本书的5、6、7、13、14章节对我开发的Wonder.js引擎
<https://github.com/Wonder-Technology/Wonder.js>的改进很有帮助,其中第14章有部分内容还讨论了Data
Oriented相关的设计。

推荐度:5星

豆瓣书评 <https://book.douban.com/subject/25815142/>

预览pdf下载地址
<https://github.com/yyc-git/MyData/blob/master/3d/engine/%E6%B8%B8%E6%88%8F%E5%BC%95%E6%93%8E%E6%9E%B6%E6%9E%84.pdf>

《Game Engine Gems 1》
《Game Engine Gems 2》

下载地址 <https://github.com/yyc-git/MyData/tree/master/3d/engine/gems>

进阶



《WebGL Insights》


本书相当于WebGL的gems书,每个章节都是一个专题,介绍了浏览器是怎么实现WebGL的、一些基于WebGL的实现的图形渲染技术、现有的开源引擎(如babylonjs)的设计和优化等。

这是一本非常好的书,对深入WebGL、学习其他开源引擎的设计和优化、移动端WebGL开发和优化都很有帮助!

推荐度:5星

豆瓣书评 <https://book.douban.com/subject/26632686/>

下载地址 <https://github.com/yyc-git/MyData/blob/master/3d/WebGL%20Insights.pdf>



《OpenGL Insights》

本书相当于OpenGL的gems书了,每个章节都是一个专题,不仅包括OpenGL,也包括了WebGL方面的主题,是一本进阶的书籍。

书中WebGL方面的专题、性能专题以及移动方面的专题(比如介绍了tile-based架构)都是很有用的。

书中最后还给出了OpenGL ES2.0的渲染管线图。

推荐度:5星

豆瓣书评 <https://book.douban.com/subject/10795762/>

下载地址 <https://github.com/yyc-git/MyData/blob/master/3d/OpenGL%20Insights.pdf>



《Real-Time Rendering》

本书讲得很全,覆盖了渲染的各个方面。不过不够深入,偏理论。

相关参考:

【《Real-Time Rendering 3rd》 提炼总结】(一) 全书知识点总览
<https://zhuanlan.zhihu.com/p/26259772>

推荐度:4.5星

豆瓣书评 <https://book.douban.com/subject/3213439/>

下载地址
<https://github.com/yyc-git/MyData/blob/master/3d/Real-Time%20Rendering%2C%20Third%20Edition.pdf>

专题讲解

地形



《Focus On 3D Terrain Programming》

这本书比较老了,不过挺容易上手实战的。我参考它实现了height map地形和分层地形。

推荐度:4星

豆瓣书评 <https://book.douban.com/subject/2377579/>

下载地址
<https://github.com/yyc-git/MyData/blob/master/3d/terrain/Focus%20On%203D%20Terrain%20Programming.pdf>

GPU Gems 1-3

下载地址 <https://github.com/yyc-git/MyData/tree/master/3d/GPU%20Gems>

GPU Pro 1-6

下载地址 <https://github.com/yyc-git/MyData/tree/master/3d/GPU%20Pro>

其他资源

分享我收集的引擎、图形学、WebGL方面的电子资料 <https://www.cnblogs.com/chaogex/p/5579365.html>

我在2011-2014年收集的经典书和心得
<https://github.com/yyc-git/MyData/blob/master/2011-2014%E5%B9%B4%E6%94%B6%E9%9B%86%E7%9A%84%E7%BB%8F%E5%85%B8%E4%B9%A6%E5%92%8C%E5%BF%83%E5%BE%97.doc>

友情链接
KaDraw流程图
API参考文档
OK工具箱
云服务器优惠
阿里云优惠券
腾讯云优惠券
华为云优惠券
站点信息
问题反馈
邮箱:ixiaoyang8@qq.com
QQ群:637538335
关注微信