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.



Foreword

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).

 

 


 


Page 2

1 Scope

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."

Pages 6 through 18

3 Definitions

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:

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

4 Concepts

After updating Clause 6, replace the references to subclauses in Clause 6 with new references to the newly renumbered subclauses.

Page 20

Table 4.1

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

4.2.5 Event routing

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

4.4.4 Transformation hierarchy

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

4.4.6 Run-time name scope

Replace item a. with the following text:

"a.  descendent nodes that are inside Inline or InlineLoadControl nodes;"

Page 29

4.5.4  Scripting language protocols

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

4.6.3.1 Introduction

Insert alphabetically in the list of geometry nodes the following:

"·  Contour2D

·  GeoElevationGrid

·  NurbsCurve

·  NurbsSurface

·  TrimmedSurface"

 

4.6.3.4 Shape hint fields

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

Crease angle field

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

Grouping and children nodes

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

4.6.7.1 Introduction to sensors

Replace the list of sensor nodes with the following:

"·  Anchor

·  Collision

·  CylinderSensor

·  GeoTouchSensor

·  PlaneSensor

·  ProximitySensor

·  SphereSensor

·  TimeSensor

·  TouchSensor

·  VisibilitySensor"

Page 36

4.6.7.3 Pointing-device sensors

Replace the list of point-device sensors with the following:

"·  Anchor

·  CylinderSensor

·  GeoTouchSensor

·  PlaneSensor

·  SphereSensor