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

相关博客

Wonder技术
Wonder是我们的产品,包含WebGL 3D引擎和编辑器。Wonder技术是Wonder在知乎上的专栏,分享Wonder的技术和资讯,欢迎大家关注~

浅墨的游戏编程
作者写得非常详细,推荐~

ZwqXin
比较老的博客,作者写得不错。

our machinery
原bitsquid引擎的开发者的新博客,分享了很多引擎设计、Data Oriented的干货,非常推荐!

教程

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星

豆瓣书评

购买地址

创业经历

《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

《Data-Oriented Design》

下面的链接可能需要开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 精品分享实录

浅谈《守望先锋》中的 ECS 构架

函数式编程

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星

豆瓣书评

预览pdf下载地址

《Game Engine Gems 1》
《Game Engine Gems 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星

豆瓣书评

下载地址

GPU Gems 1-3

下载地址

GPU Pro 1-6

下载地址

其他资源

分享我收集的引擎、图形学、WebGL方面的电子资料

我在2011-2014年收集的经典书和心得

分享收集的WebGL 3D学习资源的更多相关文章

  1. 【转载】分享一些Qt学习资源,欢迎下载

    资源来源:http://bbs.csdn.net/topics/390358737 经过我一翻整理,把一些我收集到的Qt学习资源分享给大家,主要适合新手,老鸟可以直接忽略我.要说明一下,很多资源都是在 ...

  2. swift 学习资源 大集合

    今天看到一个swift学习网站,其中我们收集了大量的学习资源 Swift 介绍 Swift 介绍 来自 Apple 官方 Swift 简单介绍 (@peng_gong) 一篇不错的中文简单介绍 [译] ...

  3. Ionic 入门与实战之第一章:Ionic 介绍与相关学习资源

    原文发表于我的技术博客 本文是「Ionic 入门与实战」系列连载的第一章,主要对 Ionic 的概念.发展历程.适配的移动平台等知识进行了介绍,并分享了 Ionic 相关的学习资源. 原文发表于我的技 ...

  4. (转) 深度强化学习综述:从AlphaGo背后的力量到学习资源分享(附论文)

    本文转自:http://mp.weixin.qq.com/s/aAHbybdbs_GtY8OyU6h5WA 专题 | 深度强化学习综述:从AlphaGo背后的力量到学习资源分享(附论文) 原创 201 ...

  5. 12套swift学习资源分享

    虽然objective-c编程语言在过去很长一段时间都是iOS应用开发的基础语言,且很多iOS开发者对其也深爱有佳,但是随着swift编程语言的问世,迅速发展为开发者追捧的语言.且今年伴随着swift ...

  6. JAVA学习资源分享

    JAVA学习资源分享 最高端的JAVA架构师资源(来自龙果学院 价值¥1399元).JAVA互联网分布式架构(龙果学院 价值¥899元).Spring Boot(2017年最新 包括源码原理分析) + ...

  7. Git学习资源收集汇总

    伴随着知乎上一个问题:GitHub 是怎么火起来的?被顶起200+的回答说到:Github不是突然火起来的,在Ruby社区Github其实从一开始就很流行,我们2009年搞Ruby大会就邀请了Gith ...

  8. 《转载》python/人工智能/Tensorflow/自然语言处理/计算机视觉/机器学习学习资源分享

    本次分享一部分python/人工智能/Tensorflow/自然语言处理/计算机视觉/机器学习的学习资源,也是一些比较基础的,如果大家有看过网易云课堂的吴恩达的入门课程,在看这些视频还是一个很不错的提 ...

  9. Xamarin学习资源收集

    推荐入门视频 跨行動平台App開發概觀- 使用Xamarin+Visual Studio https://www.youtube.com/watch?v=ELuFTTn1gS4 中文产品介绍http: ...

随机推荐

  1. vue项目向小程序迁移调研

    概述 今天调研了一下vue项目怎么向小程序迁移,有些心得,记录下来,供以后开发时参考,相信对其他人也有用. 基本上vue项目向小程序迁移不外乎2种方法,一种是用小程序的web-view组件,另一种是用 ...

  2. 从一张图开始,谈一谈.NET Core和前后端技术的演进之路

    从一张图开始,谈一谈.NET Core和前后端技术的演进之路 邹溪源,李文强,来自长沙.NET技术社区 一张图 2019年3月10日,在长沙.NET 技术社区组织的技术沙龙<.NET Core和 ...

  3. NuGet 手动清除缓存不起作用

    问题 有时更新了一些内网的程序库/包,但仅仅是一些小的更改,不想增加版本号再推送到内网服务器.手动删除了 .nuget 文件夹下的相关包文件,但是使用 Visual Studio 重新构建的时候,其使 ...

  4. 微信小程序开发05-日历组件的实现

    接上文:微信小程序开发04-打造自己的UI库 github地址:https://github.com/yexiaochai/wxdemo 我们这里继续实现我们的日历组件,这个日历组件稍微有点特殊,算是 ...

  5. 内核中 EXPORT_SYMBOL 标志分析

    内核版本:Linux-4.19 1. EXPORT_SYMBOL 的作用: EXPORT_SYMBOL 定义的函数或者符号对全部内核代码公开,不用修改内核代码就可以在其它内核模块中直接调用,即使用 E ...

  6. commandArgument用于绑定一个传递的参数

    CommandArgument ='<%#Eval("spid")+","+Eval("piaohao")%>'

  7. 2017年IT行业测试调查报告

    在刚刚过去的2017年, 我们来一起看一下2017年IT行业测试调查报告 还是1到5名测试工程师最多 Test Architects 在北上广一线城市已经出现 https://www.lagou.co ...

  8. 忘记Linux登录密码怎么办?

    1.启动虚拟机,出现下面倒计时界面时,按e键.进入启动前编辑. 2.进入如下界面,再按e键. 3.进入如下页面后,选中第二项kernel开头的项,选中后再按e键. 4.进入如下界面后,在最后面输入空格 ...

  9. 折腾Java设计模式之单例模式

    博文原址:折腾Java设计模式之单例模式 单例模式 Ensure a class has only one instance, and provide a global point of access ...

  10. 26 , CSS 构造表单

    1. 表单标签使用 2. 下拉菜单背景 3. 滚动条的使用 4. 结构化表单布局 1 1 1 1. . . . 表单标签的使用 <label for=”name”>姓名: <inpu ...