browinfo_0.wrl source
#VRML V2.0 utf8

Viewpoint {
description "initial"
position 0 1.6 10
}

NavigationInfo {
type "WALK"
headlight FALSE
speed 3
}

DirectionalLight {
direction -1 -1 -1
}

# 背景
Background {
skyColor [ 0 0.3 1, 0.7 1 1 ]
skyAngle 1.57
}


# 地面
Transform {
translation 0 -0.05 0
children [
Shape {
appearance Appearance {
material Material {
diffuseColor 0 0.8 0
}
texture ImageTexture {
url "green.jpg"
}
textureTransform TextureTransform {
scale 50 50
}
}
geometry Box {
size 50 0.1 50
}
}
]
}
# 柱
Transform {
translation 0 5 0
children [
DEF Pillar Shape {
appearance Appearance {
material Material {
diffuseColor 1 1 0.9
}
texture ImageTexture {
url "stone.jpg"
}
textureTransform TextureTransform {
scale 5 10
}
}
geometry Cylinder {
radius 0.5
height 10
}
}
]
}
Transform {
translation -10 5 -10
children USE Pillar
}
Transform {
translation 10 5 -10
children USE Pillar
}
Transform {
translation -10 5 10
children USE Pillar
}
Transform {
translation 10 5 10
children USE Pillar
}
# コンソール
DEF Console-Tf Transform {
children [
Transform {
translation 0 0.2 -1
children [
Shape {
appearance Appearance {
material Material {
emissiveColor 1 1 0.999
}
}
geometry DEF Tx Text {
fontStyle FontStyle {
size 0.08
justify "MIDDLE"
}
}
}
]
}
]
}

DEF PrS ProximitySensor {
size 1000 1000 1000
}

ROUTE PrS.position_changed TO Console-Tf.set_translation
ROUTE PrS.orientation_changed TO Console-Tf.set_rotation

DEF TiS TimeSensor {
loop TRUE
}

# スクリプト
DEF Sc Script {
eventIn SFFloat passage
eventOut MFString browserInfo
url "javascript:
function initialize () {
browserInfo[0] = 'Browser infomation';
browserInfo[1] = 'name: ' + Browser.getName();
browserInfo[2] = 'version: ' + Browser.getVersion();
browserInfo[3] = 'frame rate:';
browserInfo[5] = 'speed:';
}
function passage () {
browserInfo[4] = Browser.getCurrentFrameRate();
browserInfo[6] = Browser.getCurrentSpeed();
}
"
}

ROUTE Sc.browserInfo TO Tx.string

ROUTE TiS.fraction_changed TO Sc.passage