当前位置:主页 > 计算机电子书 > 计算机理论 > 前端设计下载
HTML5与WebGL编程

HTML5与WebGL编程 PDF 高清版

  • 更新:2019-12-16
  • 大小:416 MB
  • 类别:前端设计
  • 作者:帕里西,潘征
  • 出版:人民邮电出版社
  • 格式:PDF

  • 资源介绍
  • 相关推荐

本书介绍如何使用HTML5相关技术,如CSS3和新兴的Web图形标准WebGL,来创建具有高性能、震撼视觉效果的3D Web应用。书中内容分为两部分——基础知识和应用开发技术,不但提供了全面的理论介绍,还包括从简单3D产品可视化到沉浸式游戏及交互训练系统的实践,适合转向3D开发的Web开发人员阅读。

目录

  • 前言  xi
  • 第一部分 基础知识
  • 第1章 绪论  2
  • 1.1 HTML5:新型的视觉媒介  4
  • 1.1.1 浏览器平台  4
  • 1.1.2 浏览器支持情况  6
  • 1.2 3D图形的基础知识  6
  • 1.2.1 什么是3D  6
  • 1.2.2 3D坐标系  7
  • 1.2.3 网格、多边形与顶点  8
  • 1.2.4 材质、纹理与光源  9
  • 1.2.5 变换与矩阵  9
  • 1.2.6 相机、透视、视口与投影  10
  • 1.2.7 着色器  11
  • 第2章 WebGL:实时3D渲染  13
  • 2.1 WebGL基础  14
  • 2.2 WebGL API  15
  • 2.3 WebGL应用剖析  16
  • 2.4 一个简单的WebGL 示例  16
  • 2.4.1 Canvas元素和WebGL绘图上下文  17
  • 2.4.2 视口  18
  • 2.4.3 缓冲、缓冲数组和类型化数组  18
  • 2.4.4 矩阵  19
  • 2.4.5 着色器  20
  • 2.4.6 绘制图元  22
  • 2.5 创建3D 几何体  23
  • 2.6 添加动画  27
  • 2.7 使用纹理映射  28
  • 2.8 小结  34
  • 第3章 Three.js——一款JavaScript 3D引擎  35
  • 3.1 使用Three.js创建的代表性项目  35
  • 3.2 Three.js概览  38
  • 3.2.1 初始化Three.js  40
  • 3.2.2 Three.js工程结构  40
  • 3.3 一个简单的Three.js程序  41
  • 3.3.1 创建渲染器  43
  • 3.3.2 创建场景  43
  • 3.3.3 运行循环的实现  45
  • 3.3.4 为场景添加光照  46
  • 3.4 小结  48
  • 第4章 Three.js中的图形和渲染  49
  • 4.1 几何图形和网格  49
  • 4.1.1 预置的几何形状类型  49
  • 4.1.2 路径、形状和挤出  50
  • 4.1.3 几何形状基础类  52
  • 4.1.4 用于优化网格渲染的BufferGeometry  55
  • 4.1.5 从建模软件包中导入网格数据  56
  • 4.2 场景图和空间变换的层级结构  57
  • 4.2.1 利用场景图来管理复杂场景  57
  • 4.2.2 Three.js中的场景图  57
  • 4.2.3 平移、旋转和缩放的表示  61
  • 4.3 材质  61
  • 4.3.1 标准网格材质  61
  • 4.3.2 使用多重纹理增添逼真效果  63
  • 4.4 光源  67
  • 4.5 阴影  69
  • 4.6 着色器  73
  • 4.6.1 ShaderMaterial类:编写你自己的着色器代码  74
  • 4.6.2 在Three.js中使用GLSL着色器代码  75
  • 4.7 渲染  78
  • 4.7.1 后处理和多道渲染  79
  • 4.7.2 延迟渲染  80
  • 4.8 小结  80
  • 第5章 3D动画  81
  • 5.1 使用requestAnimationFrame()来驱动动画  82
  • 5.1.1 在你的应用中使用requestAnimationFrame()  83
  • 5.1.2 requestAnimationFrame()和性能  84
  • 5.1.3 基于帧的动画和基于时间的动画  85
  • 5.2 使用程序更新属性的方式来构建动画  85
  • 5.3 使用补间来进行动画过渡  87
  • 5.3.1 插值  87
  • 5.3.2 Tween.js库  88
  • 5.3.3 缓动  90
  • 5.4 使用关键帧来实现复杂动画  91
  • 5.4.1 Keyframe.js——一个简单的帧动画通用库  92
  • 5.4.2 使用关键帧创建关节动画  94
  • 5.5 使用曲线和路径创建平滑自然的运动  96
  • 5.6 使用变形目标来创建人物和面部动画  99
  • 5.7 使用蒙皮来构建角色动画  100
  • 5.8 使用着色器来进行动画  104
  • 5.9 小结  109
  • 第6章 CSS3:高级页面效果  110
  • 6.1 CSS变换  112
  • 6.1.1 使用3D变换  113
  • 6.1.2 添加透视  115
  • 6.1.3 创建变换层级  117
  • 6.1.4 控制背面渲染  119
  • 6.1.5 CSS变换属性汇总  122
  • 6.2 CSS过渡  122
  • 6.3 CSS动画  127
  • 6.4 挑战CSS的极限  130
  • 6.4.1 渲染3D物体  130
  • 6.4.2 渲染3D环境  132
  • 6.4.3 使用CSS自定义滤镜来实现高级着色器效果  134
  • 6.4.4 用Three.js来渲染CSS 3D  135
  • 6.5 小结  135
  • 第7章 Canvas:通用2D绘图  137
  • 7.1 Canvas基础  137
  • 7.1.1 Canvas元素和2D绘图上下文  138
  • 7.1.2 Canvas API的功能  139
  • 7.2 使用Canvas API来渲染3D  144
  • 7.3 基于Canvas渲染的3D 库  147
  • 7.3.1 K3D  147
  • 7.3.2 Three.js的Canvas渲染  148
  • 7.4 小结  153
  • 第二部分 应用开发技术
  • 第8章 3D内容制作流程  156
  • 8.1 3D内容创建过程  156
  • 8.1.1 建模  157
  • 8.1.2 纹理映射  157
  • 8.1.3 动画  158
  • 8.1.4 技术美工  159
  • 8.2 3D建模和动画工具  160
  • 8.2.1 传统3D软件  160
  • 8.2.2 基于浏览器的集成环境  164
  • 8.2.3 3D内容仓库和现成素材  167
  • 8.3 3D文件格式  168
  • 8.3.1 模型格式  168
  • 8.3.2 动画格式  170
  • 8.3.3 全功能的场景格式  171
  • 8.4 加载3D内容到WebGL应用中  178
  • 8.4.1 Three.js JSON格式  179
  • 8.4.2 Three.js的二进制格式  184
  • 8.4.3 使用Three.js来加载COLLADA场景  185
  • 8.4.4 使用Three.js来加载gITF场景  188
  • 8.5 小结  189
  • 第9章 3D引擎和框架  190
  • 9.1 3D框架概念  191
  • 9.1.1 什么是框架  191
  • 9.1.2 WebGL框架需求  192
  • 9.2 WebGL框架概况  194
  • 9.2.1 游戏引擎  194
  • 9.2.2 展示框架  196
  • 9.3 Vizi:一个基于组件的用于可视化Web 应用的框架  198
  • 9.3.1 背景和设计理念  199
  • 9.3.2 Vizi架构  200
  • 9.3.3 Vizi入门  201
  • 9.3.4 一个Vizi应用示例  202
  • 9.4 小结  207
  • 第10章 开发一个简单的3D应用  209
  • 10.1 设计应用  211
  • 10.2 创建3D内容  212
  • 10.2.1 导出Maya场景到COLLADA  213
  • 10.2.2 将COLLADA文件转换glTF格式  214
  • 10.3 预览和测试3D内容  214
  • 10.3.1 基于Vizi的预览工具  214
  • 10.3.2 Vizi查看器类  216
  • 10.3.3 Vizi加载类  217
  • 10.4 将3D 集成到应用中  220
  • 10.5 开发3D行为和交互  223
  • 10.5.1 Vizi场景图API方法:findNode()和map()  223
  • 10.5.2 使用Vizi.FadeBehavior来动画透明度  225
  • 10.5.3 使用Vizi.RotateBehavior来自动旋转内容  227
  • 10.5.4 使用Vizi.Picker来实现鼠标悬停时显示信息  227
  • 10.5.5 使用用户界面来控制动画  229
  • 10.5.6 使用颜色选择器来改变颜色  230
  • 10.6 小结  232
  • 第11章 开发一个3D环境  233
  • 11.1 创建环境素材  235
  • 11.2 预览和测试环境  236
  • 11.2.1 以第一人称模式预览场景  237
  • 11.2.2 检查场景图  237
  • 11.2.3 检查对象属性  240
  • 11.2.4 显示边界框  242
  • 11.2.5 预览多个对象  244
  • 11.2.6 使用预览工具来查找场景中的其他问题  246
  • 11.3 使用skybox创建一个3D背景  247
  • 11.3.1 3D skybox  247
  • 11.3.2 Vizi skybox对象  248
  • 11.4 集成3D 内容到应用中  250
  • 11.4.1 加载和初始化场景  250
  • 11.4.2 加载和初始化车模型  253
  • 11.5 实现第一人称导航  255
  • 11.5.1 相机控制器  256
  • 11.5.2 第一人称控制器中的数学  257
  • 11.5.3 鼠标视角  258
  • 11.5.4 简单碰撞检测  259
  • 11.6 使用多个相机  260
  • 11.7 创建定时的动画过渡  262
  • 11.8 对象行为脚本  263
  • 11.8.1 基于Vizi.Script实现自定义组件  264
  • 11.8.2 驾驶车的控制器脚本  264
  • 11.9 给环境添加声音  270
  • 11.10 渲染动态纹理  272
  • 11.11 小结  276
  • 第12章 开发移动3D应用  278
  • 12.1 移动3D平台  278
  • 12.2 为移动浏览器开发  280
  • 12.2.1 增加触摸支持  281
  • 12.2.2 在桌面版Chrome上调试移动功能  285
  • 12.3 创建Web应用  287
  • 12.3.1 Web应用开发和测试工具  287
  • 12.3.2 打包成Web应用来发布  288
  • 12.4 开发原生/HTML5混合应用  289
  • 12.4.1 CocoonJS:一种为移动设备构建HTML游戏及应用的技术  290
  • 12.4.2 使用CocoonJS组装应用  292
  • 12.4.3 WebGL混合开发:问题  298
  • 12.5 移动3D性能  298
  • 12.6 小结  300
  • 附录 资源  301
  • 作者介绍  311
  • 封面介绍  311

资源下载

资源下载地址1:https://pan.baidu.com/s/13f7r-eXz6O2u3S9hMvdPsA

相关资源

网友留言