第1章 什么是VRML? 1
1.1 VRML的几种应用 1
1.2 三维模型与二维图像 2
1.3 前沿技术 2
1.4 VRML技术发展的简单回顾 3
1.5 VRML2.0新增加了什么? 4
思考题 5
2.2 浏览器和服务器 6
2.1 在万维网上定位文档 6
第2章 进入万维网 6
2.3 欣赏VRML场景 7
2.4 建立VRML场景 8
2.5 发布作品 9
思考题 9
第3章 浏览一个虚拟世界 10
3.1 如何浏览一个虚拟世界 10
3.1.1 你自己旅行 11
3.1.2 引导式游览 11
3.2 浏览泰诺切蒂特兰城 12
3.2.1 鹰台 13
3.2.2 魁兹阿库特神庙 14
3.2.3 大金字塔的底座 14
3.2.4 用纹理贴图增加细节 15
3.2.5 塔顶 17
3.2.6 对象的重用 18
3.2.7 参观神庙 18
3.3 按年代浏览 20
思考题 20
4.1.1 什么是节点 21
4.1.2 文件头 21
第4章 构造一个虚拟场景 21
4.1 建立一个简单的物体 21
4.1.3 外形节点 22
4.1.4 几何节点 22
4.1.5 外观节点 23
4.1.6 场景结构图 24
4.1.7 分组节点 24
4.2.2 使用一个对象的多个实例 26
4.2.1 利用内联节点使用外部文件 26
4.2 VRML文件中重要的构造技术 26
4.1.8 注释语句 26
4.2.3 连接别的对象 27
4.2.4 组织场景中的对象 28
4.2.5 观察场景 30
4.2.6 与场景交互 33
4.3 构造一个虚拟场景的步骤 34
思考题 35
第5章 物体的几何造型 36
5.1 开始入手 37
5.2 变换节点 38
5.3 几何节点 41
思考题 50
第6章 外观与原型定义 51
6.1 外观节点的使用 51
6.1.1 材质节点 51
6.1.2 纹理 52
6.2 原型 53
6.2.1 定义原型 53
6.2.2 域与事件 55
思考题 56
6.3 外部原型 56
7.1 使用文本 57
第7章 文本与复杂形体 57
7.2 用标高网络节点进行地形造型 60
7.3 拉伸节点 61
思考题 62
第8章 使用光源和声音 63
8.1 光照 63
8.1.1 光照范围 63
8.1.2 光的公用属性 64
8.1.4 光源 65
8.1.3 衰减 65
8.2 声音 66
8.2.1 声音节点 66
8.2.2 音频夹节点 67
思考题 69
第9章 动画及用户交互 70
9.1 事件和路由访问 70
9.2 动画事件路径 72
9.2.1 触发阶段和标的阶段 73
9.2.2 时间阶段 78
9.2.3 引擎阶段 80
9.3 动画设计经验 82
思考题 83
第10章 脚本与动画 84
10.1 Script 节点语法 84
10.2 如何处理事件? 85
10.2.1 专用函数 86
10.2.2 JavaScript中域的类型 86
10.3 用脚本控制动画 87
10.3.1 局部发亮:发光的头骨 87
10.3.2 选择间切换:老鹰着陆 89
10.3.3 其他配件 92
10.3.4 逻辑阶段 92
10.3.5 须计算的动画 95
思考题 95
11.2 场景层次操纵 96
11.2.1 节点直接(无路由)访问 96
第11章 有关脚本的进一步知识 96
11.1 浏览器脚本界面 96
11.2.2 使用浏览器界面修改场景层次 97
11.3 浏览器和节点绑定 98
11.3.1 背景节点绑定 98
11.3.2 导航信息节点绑定 99
11.3.3 雾节点绑定 99
11.3.4 视点节点绑定 100
11.4 网络访问与多用户场景 106
思考题 106
12.1.1 指定每一个面的颜色 107
第12章 使用颜色与法线 107
12.1 颜色 107
12.1.2 指定每一个顶点的颜色 110
12.1.3 线和点 112
12.2 法线 112
12.2.1 使用缺省法线 113
12.2.2 为每一个面规定法线 114
12.2.3 为每一个顶点指定法线 116
思考题 118
13.1 纹理的使用与贴图 119
13.1.1 什么是纹理图? 119
第13章 纹理及其贴图 119
13.1.2 影象纹理 120
13.1.3 纹理的分量 120
13.1.4 定义纹理坐标 123
13.1.5 变换一个纹理 127
13.1.6 重复与箝制纹理 129
13.1.7 定义一个象素纹理 131
13.2 具有纹理的背景 132
13.2.1 生成远景 132
13.2.2 加上地面和天空的颜色 133
13.2.3 使用地面和天空颜色组合远景 134
思考题 135
第14章 发布你的作品 136
14.1 设置服务器 136
14.1.1 安全问题 136
14.1.2 配置能识别VRML文件的服务器 137
14.1.3 关于你的URL 137
14.2 组织和发布你的文件 138
14.2.1 使用相对地址 138
14.2.4 添加信息节点 139
14.2.3 确认远程URL 139
14.2.2 使用MIME类型扩展 139
14.2.5 压缩文件 140
14.2.6 在Web上声明你的作品 141
14.3 使用公共网关接口 141
思考题 141
第15章 提高运行性能 142
15.1 使文件变小 142
15.1.1 使用实例 142
15.1.2 各种技巧 143
15.1.3 压缩文件的长度 144
15.2 提高渲染速度 145
15.2.1 简化场景 145
15.2.2 分而治之 149
15.2.3 利用浏览器自身提高渲染速度 155
15.2.4 关闭碰撞检测和使用碰撞替身 159
15.2.5 有效使用脚本 162
思考题 163
附录A 常用术语 164
附录B 节点说明 169
附录C 域类型说明 211