Information Processing Systems - Computer Graphics
The Virtual Reality Modeling Language
Part 1-Functional specification and UTF-8 encoding
Amendment 1--Enhanced interoperability
Document Number ISO/IEC14772-1:1997/Amd. 1:2002(E)
12 Apr 2002
ISO/IEC 14772-1 specifies a file format for describing interactive 3D objects and worlds. Amendment 1 to ISO/IEC 14772-1 adds to this file format modifications which allow greater interoperability among VRML implementations as well as enhanced interoperability with other related standards.
ISO (the International Organization for
Standardization) and IEC (the International Electrotechnical
Commission) form a specialized system for worldwide
standardization. National bodies that are members of ISO or IEC
participate in the development of International Standards through
technical committees established by the respective organization
to deal with particular fields of technical activity. ISO and IEC
technical committees collaborate in fields of mutual interest.
Other international organizations, governmental and
non-governmental, in liaison with ISO and IEC, also take part in
the work. See http://www.iso.ch for information
on ISO and http://www.iec.ch for information
on IEC.
In the field of information technology, ISO
and IEC have established a joint technical committee, ISO/IEC JTC
1. Draft International Standards adopted by the joint technical
committee are circulated to national bodies for voting.
Publication as an International Standard requires approval by at
least 75% of the national bodies casting a vote. See http://www.iso.ch/meme/JTC1.html
for information on JTC 1.
Amendment 1 to International Standard
ISO/IEC 14772-1:1997 was prepared by Joint Technical Committee
ISO/IEC JTC 1, Information technology, Subcommittee 24,
Computer graphics and image processing, in collaboration
with The Web3D Consortium, Inc. (http://www.web3d.org) and the VRML
moderated email list (www-vrml@web3d.org).
Append the following new paragraph to the end of the Scope clause.
"VRML geospatial capabilities provide precise association between objects within a VRML world and physical locations on the Earth."
After updating Clause 6, replace the references to subclauses in Clause 6 with new references to the newly renumbered subclauses.
Alphabetically insert the following definitions in Clause 3 and renumber the subclauses:
"3.xx Earth reference model (ERM)
One of the models available with this specification of either the physical surface of the Earth (usually in the form of an oblate spheroid) or a gravity equipotential surface for the Earth (often called a geoid).
3.xx Free Form Deformation (FFD)
T he result of transforming the control points of a piece of NURBS geometry.
3.xx geocentric spatial reference frame (GC or GCC)
A spatial reference frame in which an arbitrary point location of the surface of the Earth is determined by (x,y,z) parameters in metres from the origin (Earth centre), where X-axis is aligned with the Prime (Greenwich) Meridian in the Equatorial plane, Z-axis is aligned with polar axis (coincident with the Earth’s rotational axis) pointing North, and Y-axis is defined as orthogonal to the other two such as to form a right handed orthogonal set.
3.xx geodetic spatial reference frame (GD or GDC)
A spatial reference frame defined using two angular measures called latitude and longitude and a linear height measure from the surface of the ERM, where:
latitude is specified in degrees in the range [–90, +90];
longitude is specified in degrees in either the range [–180, +180] or the range [0, +360] where zero degrees represents the same longitude in either range;
linear height is measured in metres positive above the reference surface.
the origin is at a specified point near Greenwich, United Kingdom.
3.xx geoid
A surface along which the gravity potential is everywhere equal, and to which the direction of gravity is always perpendicular at that surface. The Earth's geoid coincides with that surface to which the oceans would conform over the entire Earth, if free to adjust to the combined effect of the Earth's mass attraction and the centrifugal force of the Earth's rotation, which is roughly equivalent to the undisturbed mean sea level.
3.xx georeferenced local coordinate system
A local coordinate system in which the origin is fixed to a specified geospatial location and specified axis orientation. Such coordinate systems are used in this International Standard to associate models with positions on the Earth.
3.xx NURBS
Non-Uniform Rational B-spline. This may be either a curve or a surface.
3.xx spatial reference frame
The combination of a specific coordinate system that is associated with a specified point in relation to a reference object defined by a model of that reference object. For this International Standard, the reference object is always the Earth (see Earth reference model).
3.xx trimmed NURBS surface
A closed combination of 2D NURBS curves and/or piecewise linear line segments that is used to define the areas of validity and invalidity of a NURBS surface.
3.xx trimming loop
A NURBS surface defined with one or more trimming loops.
3.xx universal transverse mercator (UTM) spatial reference frame
A spatial reference frame in which the result of the UTM projection is augmented by a linear height measured from the surface of the ERM. The northing, easting, and elevation values are specified relative to a fixed zone and hemisphere.
3.xx universal transverse mercator (UTM) projection
A projection of an ellipsoid (that represents the Earth) to a cylinder, in which the cylinder and the ellipsoid are tangent along a meridian, and a point on the ellipsoid is projected on the surface of the cylinder which is opened and flattened such that the ellipsoid is divided into 60 zones each six degrees wide in longitude. UTM is never used for locations above 84.0 degrees North and 80.0 degrees South since the error resulting from the projection is considered too severe. The longitudinal value is called the easting and the latitudinal value is called the northing.
3.xx VRML coordinate system
A rectangular Cartesian coordinate system with arbitrary origin used to define VRML geometry."
Pages 19 through 61
After updating Clause 6, replace the references to subclauses in Clause 6 with new references to the newly renumbered subclauses.
Page 20
Append the following text to the Table of contents and update the hyperlinks:
|
"4.15 Geospatialapplication support 4.15.1 Introduction 4.15.2 Spatial reference frame support 4.15.3 Encoding a spatial reference frame 4.15.4 Encoding geospatial coordinates 4.15.5 Dealing with high-precision coordinates 4.15.6 Geospatial navigation issues |
4.16 NURBSSupport
4.16.1 Introduction
4.16.2 NURBS Surface
4.16.3 Tessellation
4.16.4 Trimmed NURBS
4.16.5 Using Nurbs for animation"
Page 21
In the 2nd paragraph, 1st sentence, remove "arbitrary".
Replace the 1st sentence of the 3rd paragraph with the following text:
"The event model requires the processing of all events in the order that they are generated."
Page 27
Replace the 1st sentence of the 3rd paragraph with the following text:
"The following node types are in the scene graph but not affected by the transformation hierarchy: ColorInterpolator, GeoPositionInterpolator, GeoMetadata, CoordinateInterpolator, NavigationInfo, NormalInterpolator, NURBSPositionInterpolator, OrientationInterpolator, PositionInterpolator, Script, ScalarInterpolator, TimeSensor, and WorldInfo."
Page 28
Replace item a. with the following text:
"a. descendent nodes that are inside Inline or InlineLoadControl nodes;"
Page 29
The following text replaces the 4th and 5th sentences of the first paragraph:
"Browsers shall support ECMAScript as defined in the specification for that language, and shall support the protocol specified in Annex C. Browsers may support any other scripting language in addition to ECMAScript, and shall adhere to the protocol defined in the corresponding annex of ISO/IEC 14772 for any scripting language that is supported."
Page 31
Insert alphabetically in the list of geometry nodes the following:
"· Contour2D
· GeoElevationGrid
· NurbsCurve
· NurbsSurface
· TrimmedSurface"
Replace the last sentence of the 1st paragraph with the following text:
"The ElevationGrid, GeoElevationGrid, and NurbsSurface nodes have the ccw and solid fields."
Page 32
Replace the 1st sentence of the 1st paragraph with the following text:
"The creaseAngle field, used by the ElevationGrid, Extrusion, GeoElevationGrid, and IndexedFaceSet nodes, affects how default normals are generated."
Pages 32 and 33
Replace the list of grouping nodes with the following text and update the hyperlinks:
"· Anchor
· Billboard
· Collision
· CoordinateDeformer
· GeoLocation
· GeoLOD
· Group
· Inline
· InlineLoadControl
· LOD
· NurbsGroup
· Switch
· Transform"
Page 32
Replace the list of children nodes with the following text and update the hyperlinks:
|
"· Anchor · Background · Billboard · Collision · ColorInterpolator · CoordinateInterpolator · CylinderSensor · DirectionalLight · Fog · GeoLocation · GeoLOD · GeoMetadata · GeoPositionInterpolator |
· GeoTouchSensor · GeoViewpoint · Group · Inline · InlineLoadControl · LOD · NavigationInfo · NormalInterpolator · .NurbsPositionInterpolator · OrientationInterpolator · PlaneSensor · PointLight · PositionInterpolator · ProximitySensor |
· ScalarInterpolator · Script · Shape · Sound · SpotLight · SphereSensor · Switch · TimeSensor · TouchSensor · Transform · Viewpoint · VisibilitySensor · WorldInfo" |
Page 32
Replace the list of nodes not valid as children nodes with the following text and update the hyperlinks:
|
"· Appearance · AudioClip · Box · Color · Cone · Contour2D · Coordinate · Cylinder · ElevationGrid · Extrusion
|
· GeoCoordinate · GeoElevationGrid · GeoOrigin · ImageTexture · IndexedFaceSet · IndexedLineSet · Material · MovieTexture · Normal · NurbsCurve
|
· NurbsCurve2D · NurbsSurface · NurbsTextureSurface · PointSet · Polyline2D · Sphere · Text · TextureCoordinate · TextureTransform · TrimmedSurface"
|
In the paragraph following the list of node types not valid as children node, replace the 1st sentence with the following text and update the hyperlinks:
"All grouping nodes except GeoLOD, Inline, InlineLoadControl, LOD, and Switch also have addChildren and removeChildren eventIn definitions."
Pages 34 and 35
Replace Table 4.3
with the following table:
|
Node Type |
Field |
Valid Node Types for Field |
|
Anchor |
children |
Valid children nodes |
|
Appearance |
material |
Material |
|
|
texture |
ImageTexture, MovieTexture, Pixel Texture |
|
Billboard |
children |
Valid children nodes |
|
Collision |
children |
Valid children nodes |
|
Contour2D |
children |
NurbsCurve2D, Polyline2D, Contour2D |
|
CoordinateDefomer |
inputCoord , outputCoord |
Coordinate |
|
|
inputTransform |
Transform |
|
ElevationGrid |
color |
Color |
|
|
normal |
Normal |
|
|
texCoord |
TextureCoordinate |
|
GeoCoordinate |
geoOrigin |
GeoOrigin |
|
GeoElevationGrid |
geoOrigin |
GeoOrigin |
|
|
color |
Color |
|
|
normal |
Normal |
|
|
texCoord |
TextureCoordinate |
|
GeoLocation |
geoOrigin |
GeoOrigin |
|
|
children |
Valid children nodes |
|
GeoLOD |
geoOrigin |
GeoOrigin |
|
|
rootNode |
Valid children nodes |
|
GeoMetadata |
data |
Valid children nodes |
|
GeoPositionInterpolator |
geoOrigin |
GeoOrigin |
|
GeoTouchSensor |
geoOrigin |
GeoOrigin |
|
GeoViewpoint |
geoOrigin |
GeoOrigin |
|
Group |
children |
Valid children nodes |
|
IndexedFaceSet |
color |
Color |
|
|
coord |
Coordinate, GeoCoordinate |
|
|
normal |
Normal |
|
|
texCoord |
TextureCoordinate |
|
IndexedLineSet |
color |
Color |
|
|
coord |
Coordinate, GeoCoordinate |
|
LOD |
level |
Valid children nodes |
|
NurbsGroup |
children |
Valid children nodes including Shape nodes with Nurbs geometry nodes |
|
NurbsSurface |
texCoord |
TextureCoordinate NurbsTextureSurface |
|
PointSet |
color |
Color |
|
|
coord |
Coordinate, GeoCoordinate |
|
Shape |
appearance |
Appearance |
|
|
geometry |
Box, Cone, Contour2D Cylinder, ElevationGrid, Extrusion, GeoElevationGrid, IndexedFaceSet, IndexedLineSet, NurbsCurve, NurbsSurface, PointSet, Sphere, Text, TrimmedSurface |
|
Sound |
source |
AudioClip, MovieTexture |
|
Switch |
choice |
Valid children nodes |
|
Text |
fontStyle |
FontStyle |
|
Transform |
children |
Valid children nodes |
|
TrimmedSurface |
surface |
NurbsSurface |
|
|
trimmingContour |
Contour2D |
Page 35
Replace the list
of sensor nodes with the following:
"· Anchor
· Collision
· CylinderSensor
· GeoTouchSensor
· PlaneSensor
· ProximitySensor
· SphereSensor
· TimeSensor
· TouchSensor
· VisibilitySensor"
Page 36
Replace the list
of point-device sensors with the following:
"· Anchor
· CylinderSensor
· GeoTouchSensor
· PlaneSensor
· SphereSensor