图书介绍

H5和WebGL 3D开发实战详解PDF|Epub|txt|kindle电子书版本网盘下载

H5和WebGL 3D开发实战详解
  • 吴亚峰,于复兴,索依娜编著 著
  • 出版社: 北京:人民邮电出版社
  • ISBN:9787115441010
  • 出版时间:2017
  • 标注页数:367页
  • 文件大小:75MB
  • 文件页数:379页
  • 主题词:超文本标记语言-程序设计;网页制作工具-程序设计

PDF下载


点此进入-本书在线PDF格式电子书下载【推荐-云解压-方便快捷】直接下载PDF格式图书。移动端-PC端通用
种子下载[BT下载速度快]温馨提示:(请使用BT下载软件FDM进行下载)软件下载地址页直链下载[便捷但速度慢]  [在线试读本书]   [在线获取解压码]

下载说明

H5和WebGL 3D开发实战详解PDF格式电子书版下载

下载的文件为RAR压缩包。需要使用解压软件进行解压得到PDF格式图书。

建议使用BT下载工具Free Download Manager进行下载,简称FDM(免费,没有广告,支持多平台)。本站资源全部打包为BT种子。所以需要使用专业的BT下载软件进行下载。如BitComet qBittorrent uTorrent等BT下载工具。迅雷目前由于本站不是热门资源。不推荐使用!后期资源热门了。安装了迅雷也可以迅雷进行下载!

(文件页数 要大于 标注页数,上中下等多册电子书除外)

注意:本站所有压缩包均有解压码: 点击下载压缩包解压工具

图书目录

第1章 HTML 5开发基础——进入WebGL世界的第一道坎1

1.1 HTML的发展简史1

1.1.1 HTML的由来1

1.1.2 HTML的历史1

1.2 HTML5概述2

1.2.1 HTML5的新标准2

1.2.2 HTML5引入的新特性2

1.2.3 HTML5现状3

1.3 初识HTML54

1.3.1 HTML5标签简介4

1.3.2 基础标签4

1.3.3 格式标签5

1.3.4 表单标签10

1.3.5 图像、链接、列表标签17

1.3.6 表格、元信息等标签20

1.3.7 HTML5中的全局属性26

1.3.8 HTML5中的事件29

1.4 初识CSS31

1.4.1 CSS简介31

1.4.2 CSS基础语法32

1.4.3 如何插入样式表33

1.4.4 使用CSS样式33

1.5 初识JavaScript40

1.5.1 JavaScript的名字和版本41

1.5.2 准备使用JavaScript41

1.5.3 使用语句41

1.5.4 使用变量和类型42

1.5.5 JavaScript运算符43

1.5.6 使用数组44

1.5.7 创建自己的JavaScript对象45

1.5.8 常用的JavaScript工具47

1.6 HTML5 Canvas概述47

1.6.1 文档对象模型(DOM)和Canvas48

1.6.2 JavaScript与Canvas48

1.6.3 HTML5 Canvas版“HelloWorld”48

1.6.4 Canvas上的基础图形50

1.7 本章小结51

1.8 习题52

第2章 初识WebGL53

2.1 WebGL概述53

2.1.1 WebGL简介53

2.1.2 WebGL效果展示54

2.2 初识WebGL应用54

2.2.1 WebGL应用案例部署运行步骤简介55

2.2.2 初识WebGL应用程序56

2.3 着色器与渲染管线61

2.3.1 WebGL的渲染管线61

2.3.2 WebGL中立体物体的构建66

2.4 本章小结68

2.5 习题68

第3章 着色语言69

3.1 着色语言概述69

3.2 着色语言基础70

3.2.1 数据类型简介70

3.2.2 数据类型的基本使用73

3.2.3 运算符74

3.2.4 类型转换76

3.2.5 限定符77

3.2.6 流程控制79

3.2.7 函数的声明与使用81

3.2.8 片元着色器中浮点变量精度的指定82

3.2.9 程序的基本结构82

3.3 特殊的内建变量83

3.3.1 顶点着色器中的内建变量83

3.3.2 片元着色器中的内建变量83

3.4 着色语言的内置函数84

3.4.1 角度转换与三角函数85

3.4.2 指数函数86

3.4.3 常见函数86

3.4.4 纹理采样函数88

3.5 本章小结89

3.6 习题89

第4章 必知必会的3D开发知识——投影及各种变换91

4.1 矩阵数学计算工具脚本Matrix91

4.2 摄像机的设置92

4.3 两种投影方式93

4.3.1 正交投影93

4.3.2 透视投影97

4.4 各种变换100

4.4.1 基本变换的相关数学知识100

4.4.2 平移变换100

4.4.3 旋转变换102

4.4.4 缩放变换103

4.4.5 基本变换的实质105

4.5 所有变换的完整流程106

4.6 绘制方式109

4.6.1 各种绘制方式概览109

4.6.2 点与线段绘制方式110

4.6.3 三角形条带与扇面绘制方式112

4.7 设置合理的视角116

4.8 卷绕和背面剪裁120

4.8.1 基本知识121

4.8.2 一个简单的案例121

4.9 本章小结123

4.10 习题123

第5章 光照效果125

5.1 曲面物体的构建125

5.1.1 球体的构建原理125

5.1.2 案例效果概览126

5.1.3 具体开发步骤126

5.2 基本光照效果129

5.2.1 构建球体的原理129

5.2.2 环境光129

5.2.3 散射光131

5.2.4 镜面光135

5.2.5 三种光照通道的合成138

5.3 定位光与定向光140

5.4 点法向量和面法向量142

5.5 光照的每顶点计算与每片元计算144

5.6 本章小结146

5.7 习题146

第6章 纹理映射147

6.1 初识纹理映射147

6.1.1 基本原理147

6.1.2 一个简单的案例148

6.2 纹理拉伸153

6.2.1 两种拉伸方式概览153

6.2.2 不同拉伸方式的案例154

6.3 纹理采样156

6.3.1 纹理采样简介157

6.3.2 最近点采样157

6.3.3 线性纹理采样158

6.3.4 MIN与MAG采样159

6.3.5 不同纹理采样方式的案例159

6.4 mipmap纹理技术161

6.5 多重纹理与过程纹理162

6.5.1 案例概览162

6.5.2 将2D纹理映射到球面上的策略163

6.5.3 案例的场景结构164

6.5.4 开发过程165

6.6 压缩纹理的使用167

6.6.1 ETC压缩纹理167

6.6.2 DXT5169

6.6.3 PVRTC171

6.7 本章小结172

6.8 习题172

第7章 3D模型加载173

7.1 obj模型文件概述173

7.1.1 obj文件的格式173

7.1.2 用3ds Max设计3D模型174

7.2 加载obj文件175

7.2.1 加载仅有顶点坐标与面数据的obj文件175

7.2.2 加载后自动计算面法向量178

7.2.3 加载后自动计算平均法向量180

7.2.4 加载纹理坐标182

7.2.5 加载顶点法向量184

7.3 本章小结185

7.4 习题185

第8章 混合与雾187

8.1 混合技术187

8.1.1 混合的基本知识187

8.1.2 源因子和目标因子188

8.1.3 简单混合效果案例189

8.2 地月系云层效果的实现191

8.3 雾193

8.3.1 雾的原理与优势193

8.3.2 雾的简单实现194

8.4 本章小结196

8.5 习题196

第9章 常用3D开发技巧197

9.1 标志板197

9.1.1 案例效果与基本原理197

9.1.2 开发步骤198

9.2 灰度图地形201

9.2.1 基本原理201

9.2.2 普通灰度图地形202

9.2.3 过程纹理地形205

9.2.4 mipmap地形206

9.3 天空盒与天空穹207

9.3.1 天空盒207

9.3.2 天空穹209

9.3.3 天空盒与天空穹的使用技巧210

9.4 本章小结211

9.5 习题211

第10章 渲染出更加酷炫的3D场景——几种剪裁与测试213

10.1 剪裁测试213

10.1.1 基本原理与核心代码213

10.1.2 一个主次视角的简单案例213

10.2 模板测试215

10.2.1 基本原理215

10.2.2 一个简单的案例217

10.3 任意剪裁平面218

10.3.1 基本原理218

10.3.2 茶壶被任意平面剪裁的案例218

10.4 本章小结220

10.5 习题220

第11章 Three.js引擎221

11.1 Three.js概述221

11.1.1 Three.js简介221

11.1.2 Three.js效果展示222

11.2 初识Three.js应用222

11.3 Three.js基本组件224

11.3.1 场景224

11.3.2 几何对象226

11.3.3 摄像机228

11.3.4 光源232

11.3.5 材质239

11.4 模型加载245

11.4.1 Three.js中支持的模型文件格式246

11.4.2 导入三维格式文件251

11.4.3 骨骼动画的加载254

11.5 贴图的使用258

11.5.1 使用纹理贴图259

11.5.2 使用法向贴图260

11.5.3 使用凹凸贴图261

11.5.4 使用光照贴图制作静态阴影262

11.5.5 使用高光贴图264

11.6 粒子系统265

11.7 二次绘制269

11.7.1 认识效果组合器269

11.7.2 FilmPass通道270

11.7.3 BloomPass通道271

11.7.4 DotScreenPass通道272

11.7.5 ShaderPass通道273

11.8 本章小结276

11.9 习题276

第12章 Egret 3D游戏引擎应用开发277

12.1 Egret入门277

12.1.1 Egret简介277

12.1.2 Egret Engine的安装、部署与使用插件278

12.1.3 使用EgretWing插件调试与开发程序279

12.1.4 Egret Engine 3D简介281

12.2 Egret 3D入门282

12.2.1 创建3D场景282

12.2.2 使用鼠标事件285

12.3 天空盒与模型加载287

12.3.1 Egret 3D中添加天空盒287

12.3.2 Egret 3D中加载模型288

12.4 Egret 3D中的纹理与灯光291

12.4.1 Egret 3D中的纹理应用291

12.4.2 Egret 3D中的灯光应用292

12.5 Egret 3D中的骨骼动画294

12.5.1 导出Egret引擎的骨骼动画294

12.5.2 使用Egret引擎加载骨骼动画294

12.6 本章小结296

12.7 习题296

第13章 Ammo物理引擎297

13.1 Ammo物理引擎概述297

13.2 Ammo中常用类概述297

13.2.1 btVector3类——三维向量类298

13.2.2 btTransform类——变换类298

13.2.3 btRigidBody类——刚体类299

13.2.4 btDynamicsWorld类——物理世界类299

13.2.5 btDiscreteDynamicsWorld类——离散物理世界类300

13.2.6 btSoftRigidDynamicsWorld类——支持模拟软体的物理世界类300

13.2.7 btCollisionShape类——碰撞形状类301

13.2.8 btStaticPlaneShape类——静态平面形状301

13.2.9 btSphereShape类——球体形状类301

13.2.10 btBoxShape类——长方体盒碰撞形状类301

13.2.11 btCylinderShape类——圆柱形状类302

13.2.12 btCapsuleShape类——胶囊形状类302

13.2.13 btConeShape类——圆锥形状类302

13.2.14 btCompoundShape类——复合碰撞形状类302

13.3 简单的物理场景303

13.3.1 案例运行效果303

13.3.2 案例的基本结构303

13.3.3 主要方法的介绍304

13.4 多种形状刚体的碰撞306

13.4.1 案例运行效果306

13.4.2 案例开发过程307

13.5 旋转的陀螺308

13.5.1 案例运行效果308

13.5.2 案例开发过程308

13.6 触发器——消失的箱子309

13.6.1 案例运行效果310

13.6.2 案例开发过程310

13.7 碰撞过滤——物体碰撞下落311

13.7.1 案例运行效果311

13.7.2 案例开发过程312

13.8 关节的介绍313

13.8.1 关节的父类——btTypedConstraint类313

13.8.2 铰链关节——btHingeConstraint类313

13.8.3 铰链关节的案例——球落门开314

13.8.4 齿轮关节——btGearConstraint类316

13.8.5 齿轮关节的案例——转动的齿轮316

13.8.6 点对点关节——btPoint2PointConstraint类318

13.8.7 点对点关节的案例——悬挂的物体318

13.8.8 滑动关节——btSliderConstraint类320

13.8.9 滑动关节的案例——6个方向的物体滑动321

13.8.10 六自由度关节——btGeneric6DofConstraint类323

13.8.11 六自由度关节的案例——掉落的蜘蛛323

13.9 交通工具类的介绍326

13.9.1 交通工具类——btRaycastVehicle类326

13.9.2 交通工具的案例——移动的小车327

13.10 软体331

13.10.1 软体帮助类——btSoftBodyHelps类331

13.10.2 软布案例332

13.10.3 三角形网格软体案例334

13.10.4 绳索软体案例337

13.11 本章小结339

13.12 习题339

第14章 休闲类游戏——极地大作战341

14.1 背景以及功能概述341

14.1.1 游戏背景概述341

14.1.2 游戏功能简介342

14.2 游戏的策划及准备工作343

14.2.1 游戏的策划343

14.2.2 游戏的准备工作343

14.3 游戏的架构344

14.3.1 各个脚本简介344

14.3.2 游戏架构简介345

14.4 网页文件example.html346

14.5 游戏相关脚本350

14.5.1 初始化资源脚本350

14.5.2 键盘事件监听脚本354

14.5.3 添加模型脚本356

14.5.4 碰撞检测脚本360

14.6 游戏中相关工具类脚本概述363

14.7 游戏中着色器的开发363

14.7.1 带有光照的着色器363

14.7.2 不带有光照的简单着色器365

14.8 游戏的优化与改进365

参考文献367

热门推荐