Original Spec|
Sample
定義
ElevationGrid {
eventIn MFFloat set_height
exposedField SFNode color NULL
exposedField SFNode normal NULL
exposedField SFNode texCoord NULL
field MFFloat height [] # (-,)
field SFBool ccw TRUE
field SFBool colorPerVertex TRUE
field SFFloat creaseAngle 0 # [0,]
field SFBool normalPerVertex TRUE
field SFBool solid TRUE
field SFInt32 xDimension 0 # [0,)
field SFFloat xSpacing 1.0 # (0,)
field SFInt32 zDimension 0 # [0,)
field SFFloat zSpacing 1.0 # (0,)
}
地形をあらわすために使います。xy平面上で長方形のメッシュを切って各点での
y方向の高さを与えることによって、地形を定義することが出来ます。
- set_height
- 後述のheightを設定するための入力イベント
- color
- 色を設定します。Colorノードを使います。
- normal
- 法線を設定します。これによって照明を当てたときの色が変わります。
Normalノードを使います。
- texCoord
- テキスチャを貼りつけるときの座標を定義します。
TextureCoordinateノード使用。
- height
- メッシュ上の高さを定義します。
- ccw
- 面の法線を自動的に面の情報から生成する際にその方向を右手法で行う
-
- colorPerVertex 前述の色の設定が頂点毎か面毎か設定します。
- creaseAngle
- 二つの面が接するときその角度がここに指定されたもの以下
の場合、 その辺での法線が滑らかに変化するようになります。
- normalPerVertex
- 前述の法線の設定が頂点毎か面毎か設定します。
- solid
- 面が両方から見えるかどうかの指定. TRUEなら片面しか見えない。
- xDimension
- x方向のメッシュの数
- xSpacing
- x方向のメッシュの間隔。x座標で0からxDimension*xSpacingまでの地形
を定義することなります。
- zDimension
- z方向のメッシュの数
- zSpacing
- z方向のメッシュの間隔 z座標で0からzDimension*zSpacingまでの地形
を定義することなります。
サンプル
#VRML V2.0 utf8
Shape {
geometry ElevationGrid {
xDimension 3
zDimension 3
height [0 .5 0, .3 1 .3, 0 -.5 0]
solid FALSE
}
}