一. VRML多媒体编程
1. 形体生成
方法1: 利用VRML的基本形体节点
方法2: 利用VRML的复杂形体节点
方法3: 利用Inline节点调用另外一个VRML文件
方法4: 利用其它三维绘图工具(如3D MAX、RHINO)生成并输出成VRML文件
2. 灯光的生成
在一个局部坐标系中设置光源,根据具体的光源,给出光照半径、角度、方向
使用的节点有:
PointLight,主要参数有:radius、color
DirectionalLight,主要参数有:direction、color
SpotLight,主要参数有:radius、direction、beamWidth、cutOfAngle
3. 文字的生成
使用的节点有:
Text,主要参数有:string、fontStyle
FontStyle,主要参数有:size、justify、horizontal
4. 图片处理
目的:在形体上贴图。
使用的节点有:
ImageTexture,主要参数有:url
TextureCoordinate,主要参数有:point
TextureTransform,主要参数有:rotation、scale、translation
5. 像素图的生成
使用的节点有
PixelTexture,主要参数有:image
TextureCoordinate,主要参数有:point
TextureTransform,主要参数有:rotation、scale、translation
6. 影像的应用
使用的节点有
MovieTexture,主要参数有:url
7. 声音的生成
使用的节点有
Sound,主要参数有:location、maxBack、minBack、maxFront、minFront、source
AudioClip,主要参数有:url
二. VRML自定义节点的应用
1. PROTO使用步骤
作用:在程序中给出一个自定义节点。
假设的一个问题,想定义一个板凳节点BENCH,如何编程?
步骤1:
写出一段程序,放在程序的第一行之后,注意,有一对方扩弧和一对花扩弧
PROTO BENCH [ ] { }
步骤2:
在方扩弧里面给出编程时可能要改变的参数内容,如想改变板凳腿颜色和板凳腿的尺寸,则在方扩弧里面给出下面的内容:
[ field SFColor legcolor 1 0 0
field SFVec3f legsize 0.4 1.2 1
]
步骤3:
在花扩弧里面给出用几个Transform节点语句定义的板凳内容,颜色用IS语句替代
{
Transform{ … }
}
步骤4:
在程序中用BENCH节点定义所需要的板凳内容,例如下面定义了两个板凳,一个用缺省参数,一个改变了板凳腿的颜色:
Transform{
translation -5 0 0
children BENCH {}
}
Transform{
translation 5 0 0
children BENCH {legcolor 0 0 1}
}
2. EXTERNPROTO使用步骤
作用:使用自己或他人定义的PROTO节点
步骤1:
了解所使用的自定义节点的具体内容
步骤2:
在调用程序中给出一个EXTERNPROTO语句,它由三个部分组成:名称、一对方扩弧、一对双引号。方扩弧里面给出被调用的PROTO语句的内容,但要去掉初始值;双引号中给出被调用文件的位置,它可以在电脑上,也可以在网络中。例如:
EXTERNPROTO BENCH [… ]