分享收集的Web 3D学习资源
大家好,我在本文中分享了我收集的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星