1.1.1 构想与诞生 1
3.2.3 缩放 (3 1
第一章 概述 1
1.1 从形成和发展看VRML97 1
1.1.2 继承和集成 2
1.2 从功能和前景看VRML97 3
1.2.1 虚拟场景模型实例 3
1.2.2 VRML97的功能概述 4
1.2.3 潜力和前景 5
1.3 VRML世界的浏览、创建、发布 5
1.3.2 建模软件和创作工具 6
1.3.1 浏览器和服务器 6
1.3.3 发布作品 7
第二章 开拓和建立一个世界 8
2.1 开拓一座虚拟校园 8
2.1.1 乘兴所至,自导自游 8
2.1.2 请个导游 9
2.1.3 一路风光 9
2.1.4 阿兹台克(Aztec)神庙 12
2.2 创建一个世界 13
2.2.1 构造物体 13
2.2.2 使用外部文件 18
2.2.3 运用同一对象的多个实例 19
2.2.4 链接到其它对象 20
2.2.5 将物体组合成世界 21
2.2.6 观察场景 23
2.2.7 与场景交互 25
2.2.8 从头做起 26
2.3 继续前进 27
第三章 创建物体 28
3.1 开始动工 29
3.2 变换 30
3.2.1 位移和距离的标准单位 30
3.2.2 旋转 30
3.2.4 组合变换 31
3.2.5 变换次序 31
3.3.1 简单几何体节点 33
3.3 几何体 33
3.3.2 基于顶点的几何体节点 38
3.3.3 复杂形体节点 41
3.3.4 Text节点 45
3.4 原型 48
3.4.1 域和事件 50
3.4.2 EXTERNPROTO(外部原型) 51
第四章 光照、色彩和纹理 52
4.1 光源 52
4.1.2 光源的一般特性 53
4.1.1 光照范围 53
4.1.3 衰减 54
4.1.4 DirectionalLight(平行光源)节点 54
4.1.5 PointLight(点光源)节点 54
4.1.6 SpotLight(锥光源)节点 54
4.2 法向量 54
4.2.1 运用缺省法向量 55
4.2.2 逐个表面规定法向量 55
4.2.3 逐个顶点规定法向量 57
4.3 色彩 61
4.3.1 Material节点 61
4.3.2 逐个表面赋色 62
4.3.3 逐个顶点赋色 65
4.3.4 线集和点集着色 67
4.4 纹理 68
4.4.1 纹理图 68
4.4.3 纹理元素 69
4.4.2 影片纹理 69
4.4.4 综合运用纹理、色彩和材料 70
4.4.5 规定纹理坐标 71
4.4.6 对纹理施加变换操作 75
4.4.7 纹理的重复或拖边 77
4.4.8 如何定义像素纹理 79
4.5 用纹理作背景 80
4.5.1 建立全景画面 80
4.5.2 附加地面色和天空色 81
5.1.1 Sound节点 84
5.1 声音 84
第五章 声音与动画 84
5.1.2 AudioClip节点 85
5.2 动画 87
5.2.1 事件和互访 87
5.2.2 动画流程 88
5.2.3 动画要点 98
第六章 脚本 99
6.1 Script节点的句法 99
6.2 如何用Script处理事件 100
6.2.1 专用函数 101
6.2.2 JavaScript的域类型 101
6.3 脚本与动画 102
6.3.1 高光定位 102
6.3.2 选择开关 105
6.3.3 其它附着件 107
6.3.4 逻辑处理 108
6.3.5 计算性的动画 110
6.4.2 场景层次处理 111
6.4 高级脚本 111
6.4.1 浏览器脚本接口(浏览器API) 111
6.4.3 将浏览器捆绑到一个节点上 113
6.4.4 多用户世界 121
第七章 发布作品 122
7.1 设置服务器 122
7.1.1 安全问题 122
7.1.2 配置识别VRML文件的服务器 123
7.1.3 你的URL 123
7.2.1 使用相对地址 124
7.2 组织和发布你的文件 124
7.2.2 使用 MIME类型扩展名 125
7.2.3 验证远程URL 125
7.2.4 增加信息节点 126
7.2.5 压缩文件 127
7.2.6 在Web网上发表作品 127
7.3 使用通用网关接口(CGI) 127
7.3.1 HTML表格 127
7.3.2 脚本 128
7.3.3 将表格和脚本文件放入服务器 129
第八章 改善演示效果 131
8.1 缩减文件篇幅 131
8.1.1 实例重用 132
8.1.2 使用原型 132
8.1.3 使用 文本节点 132
8.1.4 使用节省空间的几何节点 132
8.1.7 将浮点数据取整 133
8.1.8 压缩文件 133
8.1.6 消除空白间隔 133
8.1.5 依靠自动生成的法向量 133
8.2 提高渲染速度 134
8.2.1 简化场景 134
8.2.2 分而治之 137
8.2.3 发挥浏览器本身的作用 142
8.2.4 关闭碰撞检测和使用碰撞代体 145
8.2.5 有效地运用Script节点 147
9.1 EAI的基本内容 149
第九章 外部创作界面 149
9.2 语言支持 150
9.2.1 访问节点 150
9.2.2 往场景内节点发送EventIn事件 150
9.2.3 读取场景中节点的EventOut事件 151
9.2.4 监听场景内节点的EventOut 151
9.3 应用 152
9.3.1 描述 152
9.3.2 嵌入Web页 152
9.3.4 添加新节点 153
9.3.3 获取Browser类实例 153
9.3.5 修改节点 154
9.3.6 删除节点 155
9.3.7 监听方位 155
9.4 EAI类库简介 156
附录A 节点参考 157
附录B 域参考 210
附录C 历史注释 214
附录D EAI实用类 218