Cyber Passage Version 2 Beta Release 2

Functional Mapping for the latest

Moving Worlds Specifications


History


How to read the tables


Tables

Following tables are categorized by The Moving Worlds VRML 2.0 Specification Draft #2 on May 30, 1996.

Grouping Nodes

Anchor

Func ROUTE read write
event-inadd_children X X - -
event-inremove_children X X - -
exposed field children O X - -
exposed field description O X - -
exposed field parameters X X - -
exposed field url O X - -
field bboxCenter * - - -
field bboxSize * - - -

Billboard

Func ROUTE read write
event-in add_children X X - -
event-in remove_children X X - -
exposed field axisOfRotation * X - -
exposed field children * X - -
field bboxCenter * - - -
field bboxSize * - - -

Notes:
When children has more than one Shape nodes, each Shape node determines its direction separately.
When specifying (0, 0, 0), axisOfRotation works correctly.
The place/size of bbox is calculated from the objects in a Inline automatically. So, you cannot set them.

Collision

Func ROUTE read write
event-inadd_children X X - -
event-inremove_children X X - -
exposed field children X X - -
exposed field collide X X - -
field bboxCenter X - - -
field bboxSize X - - -
field proxy X - - -
event-out collideTime - X - -

Notes:
The current implementation assumes the whole scene graph is children of a Collision{collide TRUE}. That is, you cannot pass through objects in default.

Group

Func ROUTE read write
event-in add_children - X - -
event-in remove_children - X - -
exposed field children O X - -
field bboxCenter * - - -
field bboxSize * - - -

Notes:
The place/size of bbox is calculated from the objects in a Group automatically. So, you cannot set them.

Inline

Func ROUTE read write
field url * - - -
field bboxSize * - - -
field bboxCenter * - - -

Notes:
If you set more than one URL, only the first one will be loaded. All the files consisting of a world are loaded at the first stage of entering the world.
The place/size of bbox is calculated from the objects in a Inline automatically. So, you cannot set them.

LOD

Func ROUTE read write
exposed field levels O X - -
field range O - - -
field center O - - -

Switch

Func ROUTE read write
exposed field whichChild * O - -
exposed field choices O X - -

Notes:
When the value of whichChild is -3, Switch node show all its children. (same as VRML 1.0)

Transform

Func ROUTE read write
event-in add_children - X - -
event-in remove_children - X - -
exposed field center O O - -
exposed field children O X - -
exposed field rotation O O X O
exposed field scale O O - -
exposed field scaleOrientation X X - -
exposed field translation O O O O
field bboxCenter * - - -
field bboxSize * - - -

Notes:
The place/size of bbox is calculated from the objects in Transform automatically. So, you cannot set them.

Leaf Nodes

DirectionalLight

Func ROUTE read write
exposed field ambientIntensity X X - -
exposed field color O O - -
exposed field direction O X - -
exposed field intensity O O - -
exposed field on O O - -

Notes:
Our rendering engine doesn't support ambientIntensity function.

Fog

Func ROUTE read write
exposed field color * X - -
exposed field size * X - -
exposed field visibilityRange O X - -

Notes:
Our rendering engine always has no limit of size.
Only last defined Fog node works.
When your PC is in 16 bit display mode, color field are automatically set to be (0, 0, 0).

PointLight

Func ROUTE read write
exposed field ambientIntensity X X - -
exposed field attenuation X X - -
exposed field color O O - -
exposed field intensity O O - -
exposed field location O X - -
exposed field on O O - -
exposed field radius X X - -

Notes:
Due to the restriction of our rendering engine, ambientIntensity has not been supported yet. To avoid confusing which comes from the semantic difference (*1) of radius between our rendering engine and Moving Worlds spec, radius field and attenuation field will be ignored and the radius is always infinity. (that is, not be attenuated.)
(*1) the radius of the former is the radius which begins to be attenuated. the latter one is the radius where intensity comes to 0.

Shape

Func ROUTE read write
field appearance O - - -
field geometry O - - -

Sound

Func ROUTE read write
exposed field source O X - -
exposed field intensity O O - -
exposed field priority X X - -
exposed field location O X - -
exposed field direction O X - -
exposed field minFront O X - -
exposed field maxFront O X - -
exposed field minBack * X - -
exposed field maxBack * X - -
field spatialize X - - -

Notes:
The current implementation assumes minBack == minFront, maxBack == maxFront.

SpotLight

Func ROUTE read write
exposed field on O O - -
exposed field intensity O O - -
exposed field ambientIntensity X X - -
exposed field color O O - -
exposed field location O X - -
exposed field direction O X - -
exposed field beamWidth * X - -
exposed field cutOffAngle O O - -
exposed field radius X X - -
exposed field attenuation X X - -

Notes:
Due to the restriction of our rendering engine, ambientIntensity has not been supported yet. To avoid confusing which comes from the semantic difference (*1) of radius between our rendering engine and Moving Worlds spec, radius field and attention field will be ignored and the radius is always infinity. (that is, not be attenuated.) the beamWidth field will be default value defined by our rendering engine.

Bindable Leaf Nodes

Background

Func ROUTE read write
event-in set_bind - X - -
exposed field groundAngle X X - -
exposed field groundColor X X - -
exposed field backUrl X X - -
exposed field bottomUrl X X - -
exposed field frontUrl * X - -
exposed field leftUrl X X - -
exposed field rightUrl X X - -
exposed field topUrl X X - -
exposed field skyAngle X X - -
exposed field skyColor * X - -
event-out bound_changed - X - -

Notes:
Due to the restriction of our rendering engine, values except for skyColor[0] will be ignored and the background will be drawn with it. Regarding background textures, values except for frontUrl will be ignored and the texture of frontUrl will be mapped with tiling.

NavigationInfo

Func ROUTE read write
event-in set_bind - X - -
exposed field avatorSize X X - -
exposed field headLight O X - -
exposed field speed O X - O
exposed field type X X - -
exposed field visibilityLimit O X - -
event-out bind_changed - X - -

Notes:
You can change speed field with using a method of Browser class.

Viewpoint

Func ROUTE read write
event-in set_bind - X - -
exposed field fieldOfView O X - -
exposed field jump X X - -
exposed field orientation O X * *
exposed field position O X * *
field description X - - -
event-out bindTime - X - -
event-out bind_changed - X - -

Notes:
You can change viewpoint by changing translation or rotation of the Transform node which defines the coordinate system of the Viewpoint.

Sensor Nodes

CylinderSensor

Not implemented yet.

Disksensor

Not implemented yet.

PlaneSensor

Not implemented yet.

ProximitySensor

Func ROUTE read write
exposed field center O X - -
exposed field size O X - -
exposed field enabled O X - -
event-out isActive - O - -
event-out position - X - -
event-out orientation - X - -
event-out enterTime - O - -
event-out exitTime - O - -

SphereSensor

Not implemented yet.

TimeSensor

Func ROUTE read write
exposed field cycleInterval O O - -
exposed field enabled O O - -
exposed field loop O O - -
exposed field startTime O O - -
exposed field stopTime O O - -
event-out cycleTime - O - -
event-out fraction - O - -
event-out isActive - O - -
event-out time - O - -

TouchSensor

Func ROUTE read write
exposed field enabled O O - -
event-out hitNormal - X - -
event-out hitPoint - X - -
event-out hitTexCoord - X - -
event-out isActive - O - -
event-out isOver - O - -
event-out touchTime - O - -
event-out hitNode - O - -

Notes:
The hitNode field is not specified in VRML2.0 but SONY is proposing to include it in the specification.

VisibilitySensor

Not implemented yet.

Global Nodes

Script

Func ROUTE read write
field url O - - -
field directOutputs X - - -
field mustEvaluate X - - -

WorldInfo

Func ROUTE read write
field title O - - -
field info O - - -

Geometry Nodes

Box

Func ROUTE read write
field size O - - -

Cone

Func ROUTE read write
field bottomRadius O - - -
field height O - - -
field side O - - -
field bottom O - - -

Notes:
TextureTransform fields in Appearance does not work.

Cylinder

Func ROUTE read write
field bottom O - - -
field height O - - -
field radius O - - -
field side O - - -
field top O - - -

Notes:
TextureTransform fields in Appearance does not work.

ElevationGrid

Not implemented yet.

Extrusion

Not implemented yet.

IndexedFaceSet

Func ROUTE read write
exposed field color O X O O
exposed field coord O X - -
exposed field normal O X - -
exposed field texCoord O X - -
field ccw O - - -
field colorIndex O - - -
field colorPerVertex * - - -
field convex * - - -
field coordIndex O - - -
field creaseAngle * - - -
field normalIndex O - - -
field normalPerVertex O - - -
field solid * - - -
field texCoordIndex O - - -

Notes:
Even when colorPerVertex is specified TRUE, color per vertex is not supported. Instead, the average color of all vertex of a face is given to the face.
Parameters of "solid" and "convex" will not be evaluated.
Parameter "creaseAngle" effects as following:
Only when normal is not NULL and creaseAngle value is 3.14, smooth shading will be given for all faces by calculating normals of each vertex.

IndexedLineSet

Func ROUTE read write
exposed field color O X O O
exposed field coord O X - -
field colorIndex O - - -
field colorPerVertex O - - -
field coordIndex O - - -

PointSet

Not implemented yet.

Sphere

Func ROUTE read write
field radius O - - -

Notes:
TextureTransform fields in Appearance does not work.

Text

Func ROUTE read write
exposed field string O X - -
field fontStyle * - - -
field maxExtent X - - -
field length O - - -

Notes:
The current implementation does not support multi-byte characters.

Geometric Property Nodes

Color

Func ROUTE read write
exposed field rgb O O O O

Coordinate

Func ROUTE read write
exposed field point O X - -

Normal

Func ROUTE read write
exposed field vector O X - -

TextureCoordinate

Func ROUTE read write
exposed field point O X - -

Appearance Node and Appearance Property Nodes

Appearance

Func ROUTE read write
exposed field material O X - -
exposed field texture O X - -
exposed field textureTransform O X - -

FontStyle

Func ROUTE read write
field family O - - -
field horizontal X - - -
field justify O - - -
field language X - - -
field leftToRight O - - -
field size O - - -
field spacing O - - -
field style O - - -
field topToBottom O - - -

Notes:
The current implementation does not support multi-byte characters.

ImageTexture

Func ROUTE read write
exposed field url O X - -
field repeatS * - - -
field repeatT * - - -

Notes:
Our rendering engine supports only repeatS = repeatT = TRUE. It limits the number of texture tiling repetition to be less than 33.

Material

Func ROUTE read write
exposed field ambientIntensity X X - -
exposed field diffuseColor O O * *
exposed field emissiveColor O O * *
exposed field shininess * O - -
exposed field specularColor * O - -
exposed field transparency O O * *

Notes:
Our rendering engine does not support ambientIntensity and specularColor. The specular is realized in combination with specularColor and the default shininess for our rendering engine.

MovieTexture

Func ROUTE read write
exposed field loop O X - -
exposed field speed O X * *
exposed field startTime X X - -
exposed field stopTime X X - -
exposed field url X X - -
field repeatS X - - -
field repeatT X - - -
event-out duration_changed - X - -

Notes:
The following methods are defined temporarily to realize movies.

PixelTexture

Not implemented yet.

TextureTransform

Func ROUTE read write
exposed field translation * X - -
exposed field rotation * X - -
exposed field scale * X - -
exposed field center * X - -

Notes:
TextureTransform does not work for Cone, Cylinder and Sphere. This is because our rendering engine can not map textures on non-rectangular faces.

Animation Interpolation Nodes

ColorInterpolator

Func ROUTE read write
event-in set_fraction - O - -
exposed field keys O O - -
exposed field values O O - -
event-out value_changed - O - -

CoordinateInterpolator

Func ROUTE read write
event-in set_fraction - O - -
exposed field keys O O - -
exposed field values O O - -
event-out value_changed - O - -

NormalInterpolator

Func ROUTE read write
event-in set_fraction - O - -
exposed field keys O O - -
exposed field values O O - -
event-out value_changed - O - -

OrientationInterpolator

Func ROUTE read write
event-in set_fraction - O - -
exposed field keys O O - -
exposed field values O O - -
event-out value_changed - O - -

PositionInterpolator

Func ROUTE read write
event-in set_fraction - O - -
exposed field keys O O - -
exposed field values O O - -
event-out value_changed - O - -

ScalarInterpolator

Func ROUTE read write
event-in set_fraction - O - -
exposed field keys O O - -
exposed field values O O - -
event-out value_changed - O - -

Media Nodes

AudioClip

Func ROUTE read write
exposed field description X - - -
exposed field loop O X - -
exposed field pitch X X - -
exposed field startTime O O - -
exposed field stopTime O O - -
field url O - - -
event-out duration - X - -
event-out isActive - X - -

Other Syntax Features

ROUTE

We are now proposing to MovingWorlds that it should support high-level Java methods to manipulate 3D objects easily in Scripts. Functions of those methods can be realized using ROUTEs if you write many codes in Java. In this implementation, we want to show how Scripts can be simple if you use high-level Java methods, and put less priority on implementing ROUTEs.

Notice that most functions originally by ROUTEs are realized in a more easy-to-read way using high-level methods.

PROTO

The current version supports limitted PROTO features. You can make a PROTO which includes the following nodes: Let's get the atmosphere of PROTO power by moving Transform nodes including simple shapes. Here we have a sample world for PROTO.