第1章 WebGL简介
1.1 WebGL基础
1.2 浏览器3D图形吸引人的原因
1.3 设计一个图形API
1.3.1 即时模式API
1.3.2 保留模式API
1.4 图形硬件简介
1.4.1 GPU
1.4.2 帧缓存
1.4.3 纹理存储器
1.4.4 视频控制器
1.5 WebGL图形流水线
1.5.1 顶点着色器
1.5.2 图元装配
1.5.3 光栅化
1.5.4 片段着色器
1.5.5 逐片段操作
1.6 WebGL与其他图形技术的比较
1.6.1 0pen GL
1.6.2 0pen GLES2.0
1.6.3 Direct 3D
1.6.4 HTML5画布
1.6.5 可缩放矢量图形
1.6.6 VRML与X3D
1.7 线性代数简介
1.7.1 坐标系
1.7.2 点与顶点
1.7.3 矢量
1.7.4 矢量的点积或标积
1.7.5 叉积
1.7.6 齐次坐标
1.7.7 矩阵
1.7.8 仿射变换
1.8 小结
第2章 创建基本的WebGL示例
2.1 绘制三角形
2.1.1 创建WebGL上下文
2.1.2 创建顶点着色器和片段着色器
2.1.3 编译着色器
2.1.4 创建程序对象和链接着色器
2.1.5 建立缓冲
2.1.6 绘制场景
2.2 了解WebGL编码风格
2.3 调试WebGL应用程序
2.3.1 使用Chrome开发人员工具
2.3.2 Firebug的使用
2.3.3 WebGL的错误处理与错误代码
2.3.4 WebG Llnspector
2.3.5 WebGL的故障排除
2.4 用DOMAPI载入着色器
2.5 更高级的综合示例
2.6 小结
第3章 绘制
3.1 使用WebGL绘制图元和绘图方法
3.1.1 图元
3.1.2 顶点组绕顺序的重要性
3.1.3 WebGL的绘图方法
3.2 类型化数组
3.2.1 缓冲与视图
3.2.2 WebGL支持的视图类型
3.3 探讨不同的绘图方法
3.3.1 gl.draw Arrays()和gI.TRIANGLES
3.3.2 gl.draw Arrays()方法和gl.TRIANGLE_STRIP图元
3.3.3 gl.draw Elements()方法和gI.TRIANGLES图元
3.3.4 gl.draw Elements()方法和gI.TRIANLE_STRIP图元
3.3.5 总结比较
3.3.6 前期变换顶点缓存和后期变换顶点缓存
3.4 为提高性能交叉存放顶点数据
3.5 使用顶点数组或常量顶点数据
3.6 总结本章的最后一个示例
3.7 小结
第4章 小型JavaScript库与变换
4.1 JavaScript中矩阵和向量的操作
4.1.1 Sylvester库
4.1.2 WebG L-mjs库
4.1.3 glMatrix库
4.2 变换运算
4.3 理解完整的变换流水线
4.4 变换的实践
4.4.1 为对象坐标设置缓冲
4.4.2 用JavaScript创建变换矩阵并上传给着色器
4.4.3 将变换矩阵上传给GPU中的顶点着色器
4.4.4 调用绘图方法
4.5 理解变换顺序的重要性
4.5.1 使用一个固定的全局的坐标系
4.5.2 使用移动的局部的坐标系
4.5.3 变换矩阵的入栈和出栈操作
4.6 一个完整的示例:绘制几个变换后的对象
4.6.1 使用WebGL代码创建立方体
4.6.2 视图变换和模型变换的组织
4.7 小结
第5章 纹理贴图
5.1 理解丢失上下文
5.1.1 理解解决丢失上下文问题所需要的设置
5.1.2 处理丢失上下文问题时需要考虑的几个因素
5.2 2 D纹理与立方映射纹理
5.3 载入纹理
5.3.1 创建WebGL Texture对象
5.3.2 绑定纹理
5.3.3 载入图像数据
5.3.4 将纹理上传到GPU
5.3.5 定义纹理参数_
5.3.6 理解载入纹理的完整过程
5.3.7 创建一个纹理对象并载入纹理数据
5.4 定义纹理坐标
5.5 着色器中的纹理处理
……
第6章 动画与用户输入
第7章 光照
第8章 WebGL性能优化
展开