XML Schema for the Extensible 3D (X3D) Graphics Specification tagset
bboxSizeType dimensions are non-negative values, default value (-1 -1 -1) indicates that no bounding box size has been computed.
unitIntervalType value is an SFFloat ranging [0..1]
SFBool is a logical type with possible values (true|false) to match the XML boolean type.
Hint: XML boolean values are lower case (true|false) in order to maintain compatibility with HTML and other XML documents.
MFBool is an array of boolean values.
Type MFBool was previously undefined in the VRML97 Specification, but nevertheless needed for event utilities and scripting.
Example use: MFBool is useful for defining a series of behavior states using a BooleanSequencer prototype.
Hint: XML boolean values are lower case (true|false) in order to maintain compatibility with HTML and other XML documents.
SFColor specifies one RGB (red-green-blue) color triple, where
each color value is an RGB triple of floating point numbers in range [0,1].
The default value of an uninitialized SFColor field is (0 0 0).
Warning: comma characters within singleton values do not pass strict XML validation.
MFColor specifies zero or more SFColor RGB triples, where
each color value is an RGB triple of floating point numbers in range [0,1].
The default value of an uninitialized MFColor field is the empty list.
Individual SFColor array values are optionally separated by commas in XML syntax.
SFColorRGBA specifies one RGBA (red-green-blue-alpha) color 4-tuple, where
each color value is an RGBA 4-tuple of floating point numbers in range [0,1].
Alpha (opacity) values = (1 - transparency).
The default value of an uninitialized SFColorRGBA field is (0 0 0 0).
Warning: comma characters within singleton values do not pass strict XML validation.
MFColorRGBA specifies zero or more SFColorRGBA 4-tuples, where
each color value is an RGBA 4-tuple of floating point numbers in range [0,1].
Alpha (opacity) values = (1 - transparency).
The default value of an uninitialized MFColor field is the empty list.
Individual SFColorRGBA array values are optionally separated by commas in XML syntax.
SFDouble is a double-precision floating-point type. Array values are optionally separated by commas in XML syntax.
See GeoVRML 1.0 Recommended Practice, Section 2.3, Limitations of Single Precision for rationale.
MFDouble is an array of Double values, meaning a double-precision floating-point array type.
See GeoVRML 1.0 Recommended Practice, Section 2.3, Limitations of Single Precision for rationale.
Array values are optionally separated by commas in XML syntax.
SFFloat is a single-precision floating-point type.
MFFloat is an array of SFFloat values, meaning a single-precision floating-point array type. Array values are optionally separated by commas in XML syntax.
SFImage specifies a single uncompressed 2-dimensional pixel image. SFImage fields contain three integers representing the width, height and number of components in the image, followed by (width x height) hexadecimal or integer values representing the pixels in the image.
MFImage is an array of SFImage values.
SFInt32 specifies one 32-bit signed integer.
MFInt32 defines an array of 32-bit signed integers. Array values are optionally separated by commas in XML syntax.
SFRotation is an axis-angle 4-tuple, indicating X-Y-Z direction axis plus angle orientation about that axis.
The first three values specify a normalized axis vector about which the rotation takes place, so the first three values shall be within the range [-1..+1] in order to represent a normalized unit vector.
The fourth value specifies the amount of right-handed rotation about that axis in radians.
Warning: comma characters within singleton values do not pass strict XML validation.
MFRotation is an array of SFRotation values. Individual singleton SFRotation array values are optionally separated by commas in XML syntax.
SFString defines a single string encoded with the UTF-8 universal character set.
MFString is an array of SFString values, each "quoted" and separated by whitespace. Individual SFString array values are optionally separated by commas in XML syntax.
SFTime specifies a single time value, expressed as a double-precision floating point number. Typically, SFTime fields represent the number of seconds since Jan 1, 1970, 00:00:00 GMT.
MFTime is an array of SFTime values. Array values are optionally separated by commas in XML syntax.
SFVec2f is a 2-tuple pair of SFFloat values.
Hint: SFVec2f can be used to specify a 2D single-precision coordinate.
Warning: comma characters within singleton values do not pass strict XML validation.
MFVec2f is an array of SFVec2f values. Individual singleton SFVec2f array values are optionally separated by commas in XML syntax.
SFVec2d is a 2-tuple pair of SFDouble values.
Hint: SFVec2d can be used to specify a 2D double-precision coordinate.
Warning: comma characters within singleton values do not pass strict XML validation.
MFVec2d is an array of SFVec2d values. Individual singleton SFVec2d array values are optionally separated by commas in XML syntax.
SFVec3f is a 3-tuple triplet of SFFloat values.
Hint: SFVec3f can be used to specify a 3D coordinate or a 3D scale value.
Warning: comma characters within singleton values do not pass strict XML validation.
MFVec3f is an array of SFVec3f values. Individual singleton SFVec3f array values are optionally separated by commas in XML syntax.
SFVec3d is a 3-tuple triplet of SFDouble values.
See GeoVRML 1.0 Recommended Practice, Section 2.3, Limitations of Single Precision.
Hint: SFVec3d can be used to specify a georeferenced 3D coordinate.
Warning: comma characters within singleton values do not pass strict XML validation.
MFVec3d is an array of SFVec3d values. Individual singleton SFVec3d array values are optionally separated by commas in XML syntax.
Original rationale for inclusion: GeoVRML 1.0 Recommended Practice, Section 2.3, Limitations of Single Precision.
Hint: MFVec3d can be used to specify a list of georeferenced 3D coordinates.
SFVec4f is a 4-tuple set of single-precision floating-point values, specifying a 3D homogeneous vector.
Warning: comma characters within singleton values do not pass strict XML validation.
MFVec4f is zero or more SFVec4f values. Individual singleton SFVec4f array values are optionally separated by commas in XML syntax.
SFVec4d is a 4-tuple set of double-precision floating-point values, specifying a 3D homogeneous vector.
Warning: comma characters within singleton values do not pass strict XML validation.
MFVec4d is zero or more SFVec4d values. Individual singleton SFVec4d array values are optionally separated by commas in XML syntax.
SFMatrix3f specifies a 3x3 matrix of single-precision floating point numbers, organized in row-major fashion.
Warning: comma characters within singleton values do not pass strict XML validation.
MFMatrix3f specifies zero or more 3x3 matrices of single-precision floating point numbers, organized in row-major fashion.
Warning: comma characters can only appear between singleton 9-tuple values.
SFMatrix3d specifies a 3x3 matrix of double-precision floating point numbers, organized in row-major fashion.
Warning: comma characters within singleton values do not pass strict XML validation.
MFMatrix3d specifies zero or more 3x3 matrices of double-precision floating point numbers, organized in row-major fashion.
Warning: comma characters can only appear between singleton 9-tuple values.
SFMatrix4f specifies a 4x4 matrix of single-precision floating point numbers, organized in row-major fashion.
Warning: comma characters within singleton values do not pass strict XML validation.
MFMatrix4f specifies zero or more 4x4 matrices of single-precision floating point numbers, organized in row-major fashion.
Warning: comma characters can only appear between singleton 16-tuple values.
SFMatrix4d specifies a 4x4 matrix of double-precision floating point numbers, organized in row-major fashion.
Warning: comma characters within singleton values do not pass strict XML validation.
MFMatrix4d specifies zero or more 4x4 matrices of double-precision floating point numbers, organized in row-major fashion.
Warning: comma characters can only appear between singleton 16-tuple values.
SFNode specifies an X3D node; the default empty value of an uninitialized SFNode field is sometimes described as NULL.
MFNode specifies zero or more nodes; the default value of an MFNode field is the empty list.
accessTypeChoices are strictly allowed enumeration values for accessType, used when defining field declarations within a Script node or ProtoDeclare/ExternProtoDeclare statements. Original accessType name values in VRML97 were eventIn, eventOut, field, exposedField respectively. Bounded, no additional values are allowed.
A field with accessType initializeOnly can be initialized, but cannot send or receive events.
A field with accessType inputOnly cannot be initialized or included in a scene file, but can receive input event values via a ROUTE.
A field with accessType outputOnly cannot be initialized or included in a scene file, but can send output event values via a ROUTE.
A field with accessType inputOutput can be initialized, and can also send or receive events.
Default global parameters for collision outputs of rigid body physics system. Contact node can override parent CollisionCollection node. Multiple optional values, but appliedParameters enumerations cannot be extended. Bounded, no additional values are allowed.
The bounce field value is used.
The system will normally calculate the friction direction vector that is perpendicular to the contact normal. This setting indicates that the user-supplied value in this contact should be used.
Apply frictionCoefficients values
Apply softnessErrorCorrection value
Apply softnessConstantForceMix value
Apply first component of surfaceSpeed array
Apply second component of surfaceSpeed array
Apply first component of slipFactors array
Apply second component of slipFactors array
closureTypeChoices are strictly allowed enumeration values for ArcClose2D closureType field. Bounded, no additional values are allowed.
Connects arc endpoints to center, forming a pie wedge
Connects arc endpoints directly to each other, as in chord on a circle
componentNameChoices are enumeration constants used to identify the profile for each scene-graph node, and also utilized by X3D element to identify the components required by the contained Scene. Bounded, no additional values are allowed.
The Core component supplies the base functionality for the X3D run-time system, including the abstract base node type, field types, the event model, and routing.
The CADGeometry component is provided for Computer-Aided Design (CAD) nodes.
The Cube Map Environmental Texturing component describes how additional texturing effects are defined to produce environmental effects such as reflections from objects.
The Distributed Interactive Simulation (DIS) component provides networked interoperability with the IEEE DIS protocol for sharing state and conducting real-time platform-level simulations across multiple host computers.
Nodes in the Environmental effects component support the creation of realistic environmental effects such as panoramic backgrounds and fog.
The Environment Sensor nodes emit events indicating activity in the scene environment, usually based on interactions between the viewer and the world.
The Event Utility nodes provide the capability to filter, trigger, convert, or sequence numerous event-types for common interactive applications without the use of a Script node.
The Follower nodes (Chasers and Dampers) support dynamic creation of smooth parameter transitions at run time.
The Geometry2D component defines how two-dimensional geometry is specified and what shapes are available.
The Geometry3D component describes how three-dimensional geometry is specified and defines ElevationGrid, Extrusion, IndexedFaceSet, and most
primitive geometry nodes (Box, Cone, Cylinder, Sphere).
The Geospatial component defines how to associate real-world locations in an X3D scene and specifies nodes particularly tuned for geospatial applications.
The Grouping component describes how nodes are organized into groups to establish a transformation hierarchy for the X3D scene graph.
Legacy enumeration H-Anim for X3D versions 3.0-3.3 provides backwards compatibility with Humanoid Animation (HAnim) version 1, preferred form of enumeration value is HAnim.
Interpolator nodes provide keyframe-based animation capability.
The Key Device Sensor defines how keyboard keystrokes are inserted into an X3D world.
The Layering component describes how to layer a set of subscene layers into a composite scene.
The Layout component defines how to precisely position content in a scene in relation to the rendered results, especially for integrating 2D content with 3D content.
The Lighting component specifies how light sources are defined and positioned, as well as how lights effect the rendered image.
The Navigation component specifies how a user can effectively and intuitively move through and around a 3D scene.
The Networking component defines node types and other features used to access file-based and streaming resources on the World Wide Web.
The NURBS component describes Non-uniform Rational B-Spline (NURBS) geometry and interpolation nodes.
The Particle Systems component specifies how to model particles and their interactions through the application of basic physics principles to affect motion.
The Picking component provides the ability to test for arbitrary object collision and provide basic capabilities to detecting object intersections and interactions.
Pointing device sensor nodes detect pointing events from user-interface devices, defining activities such as a user selecting a piece of geometry.
The Rendering component includes fundamental rendering primitives such as TriangleSet and PointSet nodes, as well as geometric properties nodes that define how coordinate indices, colors, normals and texture coordinates are specified.
The Rigid Body Physics component describes how to model rigid bodies and their interactions through the application of basic physics principles to effect motion.
The Scripting component describes how Script nodes are used to effect changes in X3D worlds.
The Programmable Shaders component describes how programmable shaders are specified and how they affect the visual appearance of geometry.
The Shape component defines nodes for associating geometry with their visible properties and the scene environment.
The Sound component defines how sound is delivered to an X3D world as well as how sounds are accessed.
The Text component defines how text strings are rendered in an X3D scene.
The Texturing component specifies how 2D texture images are defined and then positioned on associated geometry.
The Texturing3D component specifies how 3D volumetric textures describe surface properties as data points in a volume of space, rather than a flat surface.
The Time component defines how time is sensed, computed and associated with events in an X3D scene.
containerFieldChoicesAudioClip lists the allowed containerField enumeration values for AudioClip node: default "source" if parent node is Sound node, otherwise "watchList" if parent node is LoadSensor.
parent node is Sound node
parent node is LoadSensor
containerFieldChoicesColor lists the allowed containerField enumeration values for Color and ColorRGBA nodes: default "color" if parent node is a geometry node, otherwise "colorRamp" if parent node is ParticleSystem.
parent node is a geometry node
parent node is ParticleSystem
containerFieldChoicesDISEntityTypeMapping lists the allowed containerField enumeration values for DISEntityTypeMapping node: default "mapping" if parent node is DISEntityManager node, otherwise "watchList" if parent node is LoadSensor.
parent node is DISEntityManager node
parent node is LoadSensor
containerFieldChoicesGroupLODShapeTransform lists the allowed containerField enumeration values for Shape, Transform and LOD nodes: "children" if parent node has abstract type X3DGroupingNode, otherwise "metadata" default.
parent node has abstract type X3DGroupingNode
parent node is Collision
parent node is GeoLOD
parent node is CADFace or CollidableShape
parent node is HAnimHumanoid
containerFieldChoicesHAnimJoint lists the allowed containerField enumeration values for HAnimJoint node: default "children" if parent node is another HAnimJoint, otherwise "joints" or "skeleton" if parent node is HAnimHumanoid.
parent node is another HAnimJoint
parent node is HAnimHumanoid, typically as a USE node
parent node is HAnimHumanoid
containerFieldChoicesHAnimSegment lists the allowed containerField enumeration values for HAnimSegment node: default "children" if parent node is another HAnimJoint, otherwise "joints" or "skeleton" if parent node is HAnimHumanoid.
parent node is HAnimJoint
parent node is HAnimHumanoid, typically as a USE node
containerFieldChoicesHAnimSite lists the allowed containerField enumeration values for HAnimSite node: default "children" if parent node is another HAnimJoint, otherwise "sites", "skeleton" or "viewpoints" if parent node is HAnimHumanoid.
parent node is HAnimSegment
parent node is HAnimHumanoid, typically as a USE node
parent node is HAnimHumanoid
parent node is HAnimHumanoid
containerFieldChoicesMetadata lists the allowed containerField enumeration values for Metadata nodes: "value" if providing information and parent node is MetadataSet collection, otherwise default "metadata" if providing information about parent node.
this node provides metadata information regarding its parent node.
parent node is MetadataSet, this node is providing information as part of a MetadataSet collection.
containerFieldChoicesPackagedShader lists the allowed containerField enumeration values for PackagedShader node: default "shaders" if parent node is DISEntityManager node, otherwise "watchList" if parent node is LoadSensor.
parent node is an Appearance node
parent node is LoadSensor
containerFieldChoicesShaderPart lists the allowed containerField enumeration values for ShaderPart node: default "shaders" if parent node is DISEntityManager node, otherwise "watchList" if parent node is LoadSensor.
parent node is ComposedShader node
parent node is LoadSensor
containerFieldChoicesTextureCoordinate lists the allowed containerField enumeration values for TextureCoordinate node: default "texCoord" if parent node is a geometry node, otherwise "texCoordRamp" if parent node is ParticleSystem.
parent node is a geometry node
parent node is ParticleSystem
containerFieldChoicesX3DCoordinateNode lists the allowed containerField enumeration values for Coordinate and CoordinateDouble nodes: default "coord" if parent node is a geometry node, otherwise skinCoord or skinBindingCoords if parent node is HAnimHumanoid
parent node is a geometry node
parent node is a Nurbs node
parent node is HAnimHumanoid
containerFieldChoicesX3DNormalNode lists the allowed containerField enumeration values for Normal nodes: default "normal" if parent node is a geometry node, otherwise skinNormal or skinBindingNormals if parent node is HAnimHumanoid
parent node is a geometry node
parent node is HAnimHumanoid
containerFieldChoicesX3DTexture2DNode lists the allowed containerField enumeration values for PixelTexture and MultiTexture (which can contain ImageTexture, MovieTexture, PixelTexture). Note that watchList is not allowed.
default, parent node is Appearance
parent node is Sound (only valid for MovieTexture)
parent node is ComposedCubeMapTexture
parent node is ComposedCubeMapTexture
parent node is ComposedCubeMapTexture
parent node is ComposedCubeMapTexture
parent node is ComposedCubeMapTexture
parent node is ComposedCubeMapTexture
parent node is TextureBackground
parent node is TextureBackground
parent node is TextureBackground
parent node is TextureBackground
parent node is TextureBackground
parent node is TextureBackground
containerFieldChoicesX3DTexture3DNode lists the allowed containerField enumeration values for ComposedTexture3D, ImageTexture3D and PixelTexture3D nodes: default "texture" for parent node such as Appearance that includes a texture field,
otherwise "gradients" if parent node is IsoSurfaceVolumeData, "segmentIdentifiers" if parent node is SegmentedVolumeData, "surfaceNormals" if parent node has abstract type X3DComposableVolumeRenderStyleNode, or "voxels" if parent node has abstract type X3DVolumeDataNode.
parent node is IsoSurfaceVolumeData
parent node is SegmentedVolumeData
parent node has abstract type X3DComposableVolumeRenderStyleNode
(default) parent node such as Appearance that include a texture field
parent node has abstract type X3DVolumeDataNode
special case for ImageTexture3D with parent node LoadSensor
containerFieldChoicesX3DUrlObject lists the allowed containerField enumeration values for Anchor, GeoMetadata, Inline and Script nodes: default "children" if parent node has abstract type X3DGroupingNode, otherwise "watchList" if parent node is LoadSensor.
parent node has abstract type X3DGroupingNode
parent node is LoadSensor
containerFieldChoicesX3dUrlObjectTexture lists the allowed containerField enumeration values for X3DTexture2DNode (ImageTexture, MovieTexture) .
default, parent node is Appearance
parent node is LoadSensor (invalid for PixelTexture)
parent node is Sound (only valid for MovieTexture)
parent node is ComposedCubeMapTexture
parent node is ComposedCubeMapTexture
parent node is ComposedCubeMapTexture
parent node is ComposedCubeMapTexture
parent node is ComposedCubeMapTexture
parent node is ComposedCubeMapTexture
parent node is TextureBackground
parent node is TextureBackground
parent node is TextureBackground
parent node is TextureBackground
parent node is TextureBackground
parent node is TextureBackground
fieldTypeChoices are enumerations for all allowed names of X3DField types. Bounded, no additional values are allowed.
Single Field (singleton) Boolean
Multiple Field (list) Boolean
Single Field (singleton) color value, red-green-blue
Multiple Field (list) color value, red-green-blue
Single Field (singleton) color value, red-green-blue alpha (opacity)
Multiple Field (list) color value, red-green-blue alpha (opacity)
Single Field (singleton) double-precision (64-bit) float
Multiple Field (list) 2-tuple double-precision (64-bit) float vector
Single Field (singleton) single-precision (32-bit) float
Multiple Field (list) single-precision (32-bit) float vector
Single Field (singleton) image value
Multiple Field (list) image values
Single Field (singleton) 32-bit integer
Multiple Field (list) 32-bit integer
Single Field (singleton) node
Multiple Field (list) nodes
Single Field (singleton) rotation value using 3-tuple axis, radian angle
Multiple Field (list) rotation values using 3-tuple axis, radian angle
Single Field (singleton) string value
Multiple Field (list) SFString array
Single Field (singleton) time value in seconds
Multiple Field (list) time array in seconds
Single Field (singleton) 2-tuple double-precision float vector
Multiple Field (list) 2-tuple double-precision float vectors
Single Field (singleton) 2-tuple single-precision float vector
Multiple Field (list) 2-tuple single-precision float vectors
Single Field (singleton) 3-tuple double-precision float vector
Multiple Field (list) 3-tuple double-precision float vectors
Single Field (singleton) 3-tuple single-precision float vector
Multiple Field (list) 3-tuple single-precision float vectors
Single Field (singleton) 4-tuple double-precision float vector
Multiple Field (list) 4-tuple double-precision float vectors
Single Field (singleton) 4-tuple single-precision float vector
Multiple Field (list) 4-tuple single-precision float vectors
Single Field (singleton) 3×3 matrix of double-precision floating point numbers
Multiple Field (list) 3×3 matrices of double-precision floating point numbers
Single Field (singleton) 3×3 matrix of single-precision floating point numbers
Multiple Field (list) 3×3 matrices of double-precision floating point numbers
Single Field (singleton) 4×4 matrix of double-precision floating point numbers
Multiple Field (list) 4×4 matric3w of double-precision floating point numbers
Single Field (singleton) 4×4 matrix of single-precision floating point numbers
Multiple Field (list) 4×4 matrices of single-precision floating point numbers
fontFamilyValues are supported enumeration values for FontStyle/ScreenFontStyle node family field. Unbounded, additional values are allowed.
default font family for sans-serif font such as Helvetica
default font family for serif font such as Times-Roman
default font family for a fixed-pitch font such as Courier
fontStyleChoices are strictly allowed enumeration values for FontStyle/ScreenFontStyle node style field. Bounded, no additional values are allowed.
default plain type
boldface type
italic type
bold and italic type
fogTypeChoices are strictly allowed enumeration values for Fog node fogType field. Bounded, no additional values are allowed.
linear blending as a function of distance
exponential blending as a function of distance
forceOutputValues are supported enumeration values for X3DRigidJointNode type forceOutput field. Unbounded, additional values are allowed.
all forceOutput fields computed
no forceOutput fields computed
generatedCubeMapTextureUpdateChoices are strictly allowed enumeration values for GeneratedCubeMapTexture field named 'update'. Bounded, no additional values are allowed.
no further texture updates are rendered
render texture once at end of frame
texture to be rendered every frame
hanimVersionChoices enumeration constants are used to identify the allowed versions for an HAnimHumanoid node.
Note that default HAnimHumanoid version is 2.0 for X3D version 4, and default is 1.0 for X3D version 3. Bounded, no additional values are allowed.
International standard HAnim 19774 version 1 approved by ISO in 2006. Note that HAnim version 2.0 has more capabilties, while version 1.0 includes several small incompatibilities.
Since no other versions were formally approved, no other values are allowed for earlier HAnim versions.
Revised standard HAnim 19774 version 2 (parts 1 and 2) were approved by ISO in November 2019, published by Web3D Consortium May 2020.
intersectionTypeValues are supported enumeration values for X3DPickSensorNode type intersectionType field. Unbounded, additional values are allowed.
TODO undefined in X3D specification
TODO undefined in X3D specification
justifyChoices are strictly allowed enumeration values for FontStyle node justify field.
Note that intermediate commas and extraneous whitespace are disallowed by these strictly defined enumeration values. Bounded, no additional values are allowed.
Permitted combinations of horizontal and vertical values for the align field in the Layout node.
Note that intermediate commas and extraneous whitespace are disallowed by these strictly defined enumeration values. Bounded, no additional values are allowed.
Permitted combinations of horizontal and vertical values for the scaleMode field in the Layout node.
Note that intermediate commas and extraneous whitespace are disallowed by these strictly defined enumeration values. Bounded, no additional values are allowed.
Permitted combinations of horizontal and vertical values for the offsetUnits field in the Layout node.
Note that intermediate commas and extraneous whitespace are disallowed by these strictly defined enumeration values. Bounded, no additional values are allowed.
metaDirectionChoices are strictly allowed enumeration values for meta element direction field. Bounded, no additional values are allowed.
right-to-left
left-to-right
metaNameValues are supported enumeration values for meta element name field. Unbounded, additional values are allowed.
permission required to access resource or security status
name of individual author
name of individual contributing to this resource
date of initial version
name of original author
summary overview describing this resource
statement of denial or disavowal regarding potential claims or responsiblity
name or reference link to a supporting drawing or sketch file
information about an error (or known problem) that can prevent proper operation
authoring tool or translation tool
user hint about resource features or operation
url address or unique Uniform Resource Identifier (URI) for resource
name or reference link to supporting image file
additional info of interest
additional information of interest
Related resource of which the described resource is a version, edition, or adaptation.
comma-separated tokens, each of which is a keyword of interest
content or software license
entity that mediates access to resource and for whom resource is intended or useful
date of modified version
name or reference link to supporting movie file (note that Dublin Core term is MovingImage)
name or reference link to supporting movie
name or reference link to original file or resource
name or reference link to supporting photo file (note that Dublin Core term is Image)
name or reference link to supporting photograph file (note that Dublin Core term is Image)
entity responsible for making the resource available
name or reference link to supporting reference
prerequisites for operation or viewing
intellectual property rights (IPR)
search engine and web-spider guidance value: noindex to block page indexing, nofollow to block following links
name or reference link to supporting sound file
related resource from which the described resource is derived
title of relevant specification section
url for relevant specification section
search-index subject keywords, key phrases, or classification codes
resource consisting primarily of words for reading
file name for this resource
action item "to do" that still needs to be performed
name of person performing translation from another format or language
date of translation from another format or language
current version number or ID of this resource
warning information about a known problem that impedes proper operation
multiTextureFunctionValues are supported enumeration values for the MultiTexture node function attribute, one per each texture. An empty string indicates no function is applied. Multiple optional values, but cannot be extended.
Invert argument x as (1 - x)
Replicate alpha information to all color channels before operation completes.
No function is applied - empty SFString is allowed value within MFString array
multiTextureModeValues are supported enumeration values for the MultiTexture mode attribute, one per each texture. Multiple optional values, but cannot be extended.
multiTextureSourceValues are supported enumeration values for the MultiTexture node source attribute, one per each texture. Multiple optional values, but cannot be extended.
navigationTransitionTypeValues are supported enumeration values for the transitionType field in the NavigationInfo node. Unbounded, additional values are allowed.
immediate transition
transition may proceed directly through intervening objects
rowser-specific transition
navigationTypeValues are supported enumeration values for the type field in the NavigationInfo node. Unbounded, additional values are allowed.
browser can offer any type for user to choose
free navigation, avatar remains on ground, collision detection
view an individual object by rotating view about center
free navigation, collision detection
navigate to particular object
disables all navigation interfaces
consistent keystroke navigation for both geospatial and Cartesian modes
networkModeChoices are strictly allowed enumeration values for DIS field networkMode. Bounded, no additional values are allowed.
ignore network but still respond to events in local scene
listen to network and read PDU packets at readInterval, act as remotely linked copy of entity
send PDU packets to network at writeInterval, act as master entity
particleSystemGeometryTypeValues are supported enumeration values for the ParticleSystem node geometryType field. Unbounded, additional values are allowed.
line is drawn along current velocity vector of particle
point geometry is rendered at particle position
quad geometry is rendered at particle position facing direction traveled
quad geometry is rendered at particle position facing screen
pair of triangles creating quad geometry is rendered at particle position facing direction traveled
geometry field is used for rendering each particle
phaseFunctionValues are supported enumeration values for the phaseFunction field in the ShadedVolumeStyle. Unbounded, additional values are allowed.
Henyey-Greenstein phase function for scattering model
no scattering
pickableObjectTypeValues are supported enumeration values for the objectType field in the abstract types X3DPickableObject and X3DPickSensorNode. Unbounded, additional values are allowed.
each node is available for picking
no node is available for picking
TERRAIN is an example value
pickSensorMatchCriterionChoices are strictly allowed enumeration values for X3DPickSensorNode node matchCriterion field. Bounded, no additional values are allowed.
any match of objectType values is acceptable
every objectType value in X3DPickSensorNode and X3DPickableObject shall match
one and only one objectType value can match
pickSensorSortOrderValues are supported enumeration values for X3DPickSensorNode node sortOrder field. Unbounded, additional values are allowed.
any single object that can satisfy picking conditions
return closest object by distance that satisfies conditions of this pick sensor
every object that satisfies picking conditions for this pick sensor is returned
every object that satisfies picking conditions for this pick sensor is returned, in sorted order
profileNameChoices enumeration constants are used to identify the profile for each scene-graph node, and also utilized by X3D element to identify the profile of a contained Scene.
Profiles correspond primarily to subsets of allowed X3D nodes. Some nodes in Interchange profile include fields that are ignored unless Immersive or Full profile is active. Bounded, no additional values are allowed.
Core Profile includes no nodes and is provided as the basis for custom componentization. Allowed X3D statements for all profiles are: connect ExternProtoDeclare EXPORT field fieldValue IMPORT IS ProtoBody ProtoDeclare ProtoInterface ProtoInstance ROUTE X3D. Allowed X3D nodes for this profile are: MetadataBoolean MetadataDouble MetadataFloat MetadataInteger MetadataSet MetadataString.
Interchange Profile equals the minimum subset of nodes needed to display lightweight compelling content. Allowed X3D nodes for this profile are: Appearance Background Box Color ColorInterpolator ColorRGBA Cone Coordinate CoordinateInterpolator Cylinder DirectionalLight Group ImageTexture IndexedFaceSet IndexedLineSet IndexedTriangleFanSet IndexedTriangleSet IndexedTriangleStripSet LineSet Material MetadataBoolean MetadataDouble MetadataFloat MetadataInteger MetadataSet MetadataString MultiTexture MultiTextureCoordinate MultiTextureTransform NavigationInfo Normal NormalInterpolator OrientationInterpolator PixelTexture PointSet PositionInterpolator ScalarInterpolator Shape Sphere TextureCoordinate TextureCoordinateGenerator TextureTransform TimeSensor Transform TriangleFanSet TriangleSet TriangleStripSet Viewpoint WorldInfo.
CADInterchange Profile adds support for CADGeometry component nodes to Interchange Profile. Allowed X3D nodes for this profile are: Anchor Appearance CADAssembly CADFace CADLayer CADPart Billboard Collision Color ColorRGBA Coordinate DirectionalLight FragmentShader Group ImageTexture IndexedLineSet IndexedQuadSet IndexedTriangleFanSet IndexedTriangleSet IndexedTriangleStripSet Inline LineProperties LineSet LOD Material MetadataBoolean MetadataDouble MetadataFloat MetadataInteger MetadataSet MetadataString MultiShader MultiTexture MultiTextureCoordinate MultiTextureTransform NavigationInfo Normal PixelTexture PointSet QuadSet Shader ShaderAppearance Shape TextureCoordinate TextureCoordinateGenerator TextureTransform Transform TriangleFanSet TriangleSet TriangleStripSet Viewpoint VertexShader WorldInfo.
Interactive Profile adds interaction nodes (Anchor, KeySensor) to the minimum subset of nodes needed to display lightweight compelling content. Allowed X3D nodes for this profile are: Anchor Appearance Background BooleanFilter BooleanSequencer BooleanToggle BooleanTrigger Box Color ColorInterpolator ColorRGBA Cone Coordinate CoordinateInterpolator Cylinder CylinderSensor DirectionalLight ElevationGrid Group ImageTexture IndexedFaceSet IndexedLineSet IndexedTriangleFanSet IndexedTriangleSet IndexedTriangleStripSet Inline IntegerSequencer IntegerTrigger KeySensor LineSet Material MetadataBoolean MetadataDouble MetadataFloat MetadataInteger MetadataSet MetadataString MultiTexture MultiTextureCoordinate MultiTextureTransform NavigationInfo Normal NormalInterpolator OrientationInterpolator IndexedTriangleStripSet Inline IntegerSequencer IntegerTrigger KeySensor LineSet Material MetadataBoolean MetadataDouble MetadataFloat MetadataInteger MetadataSet MetadataString MultiTexture MultiTextureCoordinate MultiTextureTransform NavigationInfo Normal NormalInterpolator OrientationInterpolator PixelTexture PlaneSensor PointLight PointSet PositionInterpolator ProximitySensor ScalarInterpolator Shape Sphere SphereSensor SpotLight StringSensor Switch TextureCoordinate TextureCoordinateGenerator TextureTransform TimeSensor TimeTrigger TouchSensor Transform TriangleFanSet TriangleSet TriangleStripSet Viewpoint VisibilitySensor WorldInfo.
Immersive Profile equals all of the nodes in the VRML97 Specification, plus various X3D node additions including KeySensor, StringSensor and Scene. Allowed X3D nodes for this profile are: Anchor Appearance AudioClip Background Billboard BooleanFilter BooleanSequencer BooleanToggle BooleanTrigger Box Collision Color ColorInterpolator ColorRGBA Cone Coordinate CoordinateInterpolator Cylinder CylinderSensor DirectionalLight ElevationGrid Extrusion Fog FontStyle Group ImageTexture IndexedFaceSet IndexedLineSet IndexedTriangleFan IndexedTriangleSet IndexedTriangleStripSet Inline IntegerSequencer IntegerTrigger KeySensor LineProperties LineSet LoadSensor LOD Material MetadataBoolean MetadataDouble MetadataFloat MetadataInteger MetadataSet MetadataString MovieTexture MultiTexture MultiTextureCoordinate MultiTextureTransform NavigationInfo Normal NormalInterpolator OrientationInterpolator PixelTexture PlaneSensor PointLight PointSet Polyline2D Polypoint2D PositionInterpolator ProximitySensor Rectangle2D ScalarInterpolator Script Shape Sound Sphere SphereSensor SpotLight StringSensor Switch Text TextureCoordinate TextureCoordinateGenerator TextureTransform TimeSensor TimeTrigger TouchSensor TriangleFanSet TriangleSet TriangleSet2D TriangleStripSet Transform Viewpoint VisibilitySensor WorldInfo.
MPEGInteractive Profile defines base interoperability with MPEG4 standards to a small subset of nodes needed to display lightweight compelling content. Allowed X3D nodes for this profile are: Anchor Appearance Background Box Color ColorInterpolator ColorRGBA Cone Coordinate CoordinateInterpolator Cylinder CylinderSensor DirectionalLight ElevationGrid Group ImageTexture IndexedFaceSet IndexedLineSet Inline LineSet Material MetadataBoolean MetadataDouble MetadataFloat MetadataInteger MetadataSet MetadataString NavigationInfo NormalInterpolator OrientationInterpolator PixelTexture PlaneSensor PointLight PointSet PositionInterpolator ProximitySensor ScalarInterpolator Shape Sphere SphereSensor SpotLight Switch TextureCoordinate TextureTransform TimeSensor TouchSensor Transform Viewpoint WorldInfo.
The Full Profile corresponds to all Immersive X3D nodes plus all approved/implemented extensions. All X3D nodes and statements are allowed in this profile.
projectionVolumeStyleTypeChoices are strictly allowed enumeration values for ProjectionVolumeStyle field named 'type'. Bounded, no additional values are allowed.
Maximum Intensity Projection (MIP) or Least MIP (LMIP) algorithm is used to generate output color
Minimum Intensity Projection algorithm is used to generate output color
All voxels along ray are averaged to generate output color
shaderLanguageValues are supported enumeration values for the language field in shader nodes including "Cg" "GLSL" "HLSL", other values are optionally supported by browsers. Used to optionally determine the language type if no MIME-type information is available. Unbounded, additional values are allowed.
nVidia Cg shading language
OpenGL shading language (GLSL)
Microsoft High Level Shading Language (HLSL)
shaderPartTypeValues are allowed enumeration values for ShaderPart type field. Unbounded, additional values are allowed.
vertex shader
fragment shader
textureBoundaryModeChoices are strictly allowed enumeration values for TextureProperties boundaryMode* fields. Bounded, no additional values are allowed.
Clamp texture coordinates to range [0,1]
Clamp texture coordinates such that a border texel is never sampled
Clamp texture coordinates such that texture samples are border texels for fragments
Texture coordinates are mirrored and then clamped as in CLAMP_TO_EDGE
Repeat a texture across the fragment
textureCoordinateGeneratorModeChoices are strictly allowed enumeration values for TextureCoordinateGenerator mode field. Bounded, no additional values are allowed.
Creates texture coordinates for a spherical environment
Use vertex normal, transformed to camera space, as input texture coordinates
Use vertex position, transformed to camera space, as input texture coordinates
Use reflection vector, transformed to camera space, as input texture coordinates
Sphere mapping but in local coordinates
Use vertex coordinates
Use vertex coordinates transformed to camera space
Apply Perlin solid noise function on vertex coordinates
Apply Perlin solid noise function on vertex coordinates transformed to camera space
similar to CAMERASPACEREFLECTIONVECTOR with optional index of refraction
Similar to SPHERE-REFLECT transformed to camera space
textureMagnificationModeChoices are strictly allowed enumeration values for TextureProperties field magnificationFilter. Bounded, no additional values are allowed.
weighted average of four texture elements closest to center of pixel being textured
browser-specified default magnification mode
fastest method available
texture element nearest to the center of pixel being textured
highest quality method available
textureMinificationModeChoices are strictly allowed enumeration values for TextureProperties field minificationFilter. Bounded, no additional values are allowed.
weighted average of four texture elements closest to center of pixel being textured
tri-linear mipmap filtering
choose mipmap that most closely matches size of pixel being textured, use weighted average of four texture elements closest to center of pixel
browser-specified default minification mode
fastest method available, use mipmaps if possible
texture element nearest to center of pixel being textured
texture element nearest to center of pixel being textured, use average of two nearest mipmaps
texture element nearest to center of pixel being textured, use nearest mipmap
highest quality method available
textureCompressionModeChoices are strictly allowed enumeration values for TextureProperties field textureCompression. Bounded, no additional values are allowed.
browser-specified default compression mode
fastest method available
greatest amount of compression
least amount of compression
moderate amount of compressions
highest quality method available
unitCategoryChoices are strictly allowed enumeration values for standard units in the UNIT statement. Bounded, no additional values are allowed.
angle default is radians
force default is newtons
length default is meters
mass default is kilograms
x3dVersionChoices enumeration string constants are used to identify the allowed versions for an X3D scene graph. Bounded, no additional values are allowed.
X3D version 3.0 approved by ISO in 2004.
X3D version 3.1 Amendment 1 approved by ISO in 2005. Backwards compatibility maintained with version 3.0.
X3D version 3.2 Amendment 2 approved by ISO in 2007. Backwards compatibility maintained with versions 3.0 and 3.1.
Table of fields having accessType initializeOnly.
Table of fields having accessType inputOnly. These are not otherwise listed in element definitions since they cannot be specified in an .x3d file.
Table of fields having accessType outputOnly. These are not otherwise listed in element definitions since they cannot be specified in an .x3d file.
Table of fields having accessType inputOutput.
DEF defines a unique ID name for each node, referenceable by other nodes.
USE means reuse an already DEF-ed node ID, excluding all child nodes and all other attributes (except for containerField, which can have a different value).
The class attribute is a space-separated list of classes, reserved for use by Cascading Style Sheets (CSS) and XML stylesheets.
Nodes of this type can be used as child nodes for Appearance.
Base type for all Appearance nodes.
Abstract type from which all backgrounds inherit, also defining a background binding stack.
Only one skyColor is required at level 1.
Bindable nodes implement the binding stack, so that only one of each node type is active at a given time.
X3DBoundedObject indicates that bounding box values can be provided (or computed) to encompass this node and any children.
A node that implements X3DChildNode is one of the legal children for a X3DGroupingNode parent.
Base type for color specifications in X3D.
Composed geometry nodes produce renderable geometry, can contain Color Coordinate Normal TextureCoordinate, and are contained by a Shape node.
Base type for all coordinate node types in X3D.
Base type for all drag-style pointing device sensors.
Base type for the environmental sensor nodes ProximitySensor, TransformSensor and VisibilitySensor.
Base type for all nodes that specify cubic environment map sources for texture images.
X3DField is equivalent to SF (Single Field) simple non-Node types in the VRML97 Specification.
Abstract type describing a node that influences the lighting equation through the use of fog semantics.
Base type for all font style nodes.
Base type for all geometric property node types.
Geometry nodes produce renderable geometry and are contained by a Shape node.
Grouping nodes can contain other nodes as children, thus making up the backbone of a scene graph.
children
Base type for all nodes that contain only information without visual semantics.
Interpolator nodes are designed for linear keyframed animation.
Interpolators are driven by an input key ranging [0..1] and produce corresponding piecewise-linear output functions.
Base type for all sensor node types that operate using key devices.
Light nodes provide illumination for rendering geometry in the scene.
Implementing nodes must include a global field with type SFBool and accessType inputOutput.
Base type for all Material nodes.
Each node inheriting the X3DMetadataObject interface contains a single array of strictly typed values: MFBool, MFInt32, MFFloat, MFDouble, MFString, or MFNode, the latter having children that are all Metadata nodes.
name attribute is ordinarily required, unless this is a USE node
Base typefor all sensors that generate events based on network activity.
IS/connect statements define prototype connections between ProtoInterface fields and node fields within a ProtoBody.
Information about this node can be contained in a MetadataBoolean, MetadataDouble, MetadataFloat, MetadataInteger, MetadataString or MetadataSet node.
All instantiable nodes implement X3DNode, which corresponds to SFNode in the X3D specification.
metadata
X3DNodeMixedContent is utilized by ShaderPart and ShaderProgram.
X3DNodeMixedContent matches X3DNode, with the exception that implementing nodes can have mixed content (meaning both elements and plain text),
and also allows schema definition of different default containerField values.
Base type for all normal node types in X3D.
Base type for all nodes that provide control curve information in 2D space.
Abstract geometry type for all types of NURBS surfaces.
Base type for all geometry node types that are created parametrically and use control points to describe the final shape of the surface.
Base type for all pointing device sensors.
Base type marking nodes that are valid product structure children for the CADGeometry component.
name attribute is ordinarily required, unless this is a USE node
Base type for all nodes that specify arbitrary fields for interfacing with per-object attribute values.
Base type for all prototype instances.
Note that direct children nodes are disallowed, instead let fieldValue with type SFNode/MFNode contain them.
Current practice is that, if desired, prototype authors must explicitly add the metadata SFNode field in the ProtoInterface.
metadata
Base type for scripting nodes (but not shader nodes).
metadata
Base type for all sensors.
Base type from which all Sequencers are derived.
Base type for all nodes that specify a programmable shader.
Base type for all Shape nodes.
Base type for all sound nodes.
Nodes implementing X3DSoundSourceNode are allowed as children of Sound node.
Base type for all nodes which specify sources for texture images.
Base type for all nodes which specify 2D sources for texture images.
textureProperties
Appropriately typed substitution node
Base type for all nodes that specify 3D sources for texture images.
textureProperties
Appropriately typed substitution node
Base type for all nodes which specify texture coordinates.
Base type for all nodes which specify a transformation of texture coordinates.
Base type from which all time-dependent nodes are derived.
Base type for all touch-style pointing device sensors.
Base type from which all trigger nodes are derived.
X3DUrlObject indicates that a node has content loaded from a Uniform Resource Locator (URL) and can be tracked via a LoadSensor.
Such child nodes have containerField='watchList' to indicate their relationship to the parent LoadSensor node.
Base type for all nodes that specify per-vertex attribute information to the shader.
name attribute is ordinarily required, unless this is a USE node
The class attribute is a space-separated list of classes, reserved for use by CSS cascading stylesheets.
SceneGraphStructureStatement is a marker interface that identifies statements relating to nonrenderable scene graph structure.
SceneGraphStructureStatement does not extend from any other node type since it is not an explicit part of the X3D node interface hierarchy, and DEF/USE is not appropriate for such statements.
Child-node content model corresponding to X3DAppearanceChildNode. Appearance can contain FillProperties, LineProperties, Material or TwoSidedMaterial, any Texture node and any TextureTransform node, in any order. No more than one instance of these nodes is allowed. Appearance may also contain multiple shaders (ComposedShader, PackagedShader, ProgramShader).
Appropriately typed substitution node
Child-node content model corresponding to X3DAppearanceChildNode. Appearance can contain FillProperties, LineProperties, Material or TwoSidedMaterial, any Texture node and any TextureTransform node, in any order. No more than one instance of these nodes is allowed. Appearance may also contain multiple shaders (ComposedShader, PackagedShader, ProgramShader).
fillProperties
lineProperties
material
material
shaders
shaders
shaders
texture
texture
texture
texture
texture
texture
texture
texture
texture
texture
textureTransform
textureTransform
textureTransform
textureTransform
ChildContentModel is the child-node content model corresponding to X3DChildNode, combining all profiles. ChildContentModel can contain most nodes, other Grouping nodes, Prototype declarations and ProtoInstances in any order and any combination. When the assigned profile is less than Full, the precise palette of legal nodes that are available depends on assigned profile and components.
Child-node content model corresponding to X3DChildNode for Core profile. Following an optional IS element defined by X3DNode content model, the ChildContentModelCore enables the following child element of any node to be MetadataBoolean, MetadataDouble, MetadataFloat, MetadataInteger, MetadataSet or MetadataString.
Child-node content model corresponding to X3DChildNode for Interchange profile.
Child-node content model corresponding to X3DChildNode for Interactive profile.
Child-node content model corresponding to X3DChildNode for Immersive profile.
Child-node content model corresponding to X3DChildNode for Full profile.
Child-node content model corresponding to X3DChildNode for DIS component.
Child-node content model corresponding to X3DChildNode for GeoSpatial component.
Child-node content model corresponding to X3DChildNode for HumanoidAnimation component.
Child-node content model corresponding to X3DChildNode for Nurbs component.
Child-node content model corresponding to ProtoInstance in Immersive profile.
Appropriately typed substitution node
Child-node content model corresponding to SceneGraphStructure elements, which are not specific X3D nodes.
These X3D statements are ProtoDeclare, ExternProtoDeclare, IMPORT, EXPORT and ROUTE.
ColorCoordinateContentModel is the child-node content model utilized by IndexedLineSet, LineSet and PointSet. ColorCoordinateContentModel can contain any-order Coordinate (or CoordinateDouble) node with Color (or ColorRGBA) node. No more than one instance of any single node type is allowed.
Appropriately typed substitution node
Appropriately typed substitution node
Appropriately typed substitution node
Appropriately typed substitution node
ColorNormalTexCoordContentModel is the child-node content model utilized by ElevationGrid and GeoElevationGrid. ColorNormalTexCoordContentModel can contain Color (or ColorRGBA), Normal and TextureCoordinate, in any order. No more than one instance of any single node type is allowed.
Appropriately typed substitution node
Appropriately typed substitution node
Appropriately typed substitution node
Appropriately typed substitution node
Appropriately typed substitution node
Appropriately typed substitution node
Appropriately typed substitution node
Appropriately typed substitution node
Appropriately typed substitution node
Appropriately typed substitution node
Appropriately typed substitution node
Appropriately typed substitution node
Appropriately typed substitution node
Appropriately typed substitution node
Appropriately typed substitution node
Appropriately typed substitution node
Appropriately typed substitution node
ComposedGeometryContentModel is the child-node content model utilized by X3DComposedGeometryNodes. It can contain Color (or ColorRGBA), Coordinate, Normal and TextureCoordinate, in any order. No more than one instance of these nodes is allowed. Multiple VertexAttribute (FloatVertexAttribute, Matrix3VertexAttribute, Matrix4VertexAttribute) nodes can also be contained.
attrib
attrib
attrib
color
color
coord
coord
coord
fogcoord
normal
texcoord
texcoord
texcoord
texcoord
texcoord
texcoord
Appropriately typed substitution node
ColorCoordinateNormalTexCoordContentModel is the child-node content model corresponding to IndexedFaceSet and related Triangle-3D geometry nodes. ColorCoordinateNormalTexCoordContentModel can contain VertexAttribute, Color (or ColorRGBA), Coordinate (or CoordinateDouble), Normal and TextureCoordinate nodes, in any order. No more than one instance of any single node type is allowed.
Appropriately typed substitution node
Appropriately typed substitution node
Appropriately typed substitution node
Appropriately typed substitution node
Appropriately typed substitution node
Appropriately typed substitution node
Appropriately typed substitution node
Appropriately typed substitution node
Appropriately typed substitution node
Appropriately typed substitution node
Appropriately typed substitution node
Appropriately typed substitution node
Appropriately typed substitution node
Appropriately typed substitution node
Appropriately typed substitution node
Appropriately typed substitution node
Appropriately typed substitution node
Appropriately typed substitution node
Appropriately typed substitution node
Appropriately typed substitution node
Appropriately typed substitution node
Appropriately typed substitution node
Appropriately typed substitution node
Appropriately typed substitution node
Appropriately typed substitution node
Appropriately typed substitution node
Appropriately typed substitution node
Appropriately typed substitution node
Appropriately typed substitution node
Appropriately typed substitution node
Appropriately typed substitution node
Appropriately typed substitution node
Appropriately typed substitution node
Appropriately typed substitution node
Appropriately typed substitution node
Appropriately typed substitution node
Appropriately typed substitution node
Appropriately typed substitution node
Appropriately typed substitution node
Appropriately typed substitution node
Appropriately typed substitution node
Appropriately typed substitution node
Appropriately typed substitution node
Appropriately typed substitution node
Appropriately typed substitution node
Appropriately typed substitution node
Appropriately typed substitution node
Appropriately typed substitution node
Appropriately typed substitution node
Appropriately typed substitution node
Appropriately typed substitution node
Appropriately typed substitution node
Appropriately typed substitution node
Appropriately typed substitution node
Appropriately typed substitution node
Appropriately typed substitution node
Appropriately typed substitution node
Appropriately typed substitution node
Appropriately typed substitution node
Appropriately typed substitution node
Appropriately typed substitution node
Appropriately typed substitution node
Appropriately typed substitution node
Appropriately typed substitution node
Appropriately typed substitution node
Appropriately typed substitution node
Appropriately typed substitution node
Appropriately typed substitution node
Appropriately typed substitution node
Appropriately typed substitution node
Appropriately typed substitution node
Appropriately typed substitution node
Appropriately typed substitution node
Appropriately typed substitution node
Appropriately typed substitution node
Appropriately typed substitution node
Appropriately typed substitution node
Appropriately typed substitution node
Appropriately typed substitution node
Appropriately typed substitution node
Appropriately typed substitution node
Appropriately typed substitution node
Appropriately typed substitution node
Appropriately typed substitution node
Appropriately typed substitution node
Appropriately typed substitution node
Appropriately typed substitution node
Appropriately typed substitution node
Appropriately typed substitution node
Appropriately typed substitution node
Appropriately typed substitution node
Appropriately typed substitution node
Appropriately typed substitution node
Appropriately typed substitution node
Appropriately typed substitution node
Appropriately typed substitution node
Appropriately typed substitution node
Appropriately typed substitution node
Appropriately typed substitution node
Appropriately typed substitution node
GeometryContentModel is the child-node content model corresponding to X3DGeometryNode. No more than one instance of any single geometry node is allowed.
geometry
Child-node content model corresponding to X3DGeometryNode for Interchange profile.
Child-node content model corresponding to X3DGeometryNode for Interactive profile.
Child-node content model corresponding to X3DGeometryNode for Immersive profile.
Child-node content model corresponding to Geometry2D component.
Child-node content model corresponding to nodes in CAD component.
Child-node content model corresponding to Geometry2D component.
Child-node content model corresponding to X3DGeometryNode for GeoSpatial component.
Child-node content model corresponding to X3DGeometryNode for Nurbs component.
Child-node content model corresponding to X3DChildNode. GroupingNodeChildContentModel can contain most nodes, other Grouping nodes, Prototype declarations and ProtoInstances in any order and any combination. When less that Full profile, the precise palette of legal nodes that are available depends on profile and components.
Child-node content model utilized by LoadSensor node, which determines if the retrievable content for the child X3DUrlObject nodes has been loaded from the network. When less that Full profile, the precise palette of legal nodes that are available depends on profile and components.
watchList
Child-node content model corresponding to a valid scene-graph fragment. SceneGraphFragmentContentModel can provide field or fieldValue initialization, so no ROUTEs or prototype declarations allowed.
Child-node content model corresponding to a valid scene-graph fragment. Also includes ROUTE(s) and prototype declaration(s).
ShapeChildContentModel is the child-node content model utilized by X3DShapeNode. ShapeChildContentModel can contain a single Appearance node and a single geometry node, in any order.
appearance
geometry
Appropriately typed substitution node
geometry
appearance
Appropriately typed substitution node
appearance or geometry
geometry or appearance
geometry
appearance
Appropriately typed substitution node
SoundChildContentModel is the child-node content model utilized by Sound node. SoundChildContentModel can contain a single AudioClip or MovieTexture as sound source.
source
Appropriately typed substitution node
TextChildContentModel is the child-node content model utilized by Text. TextChildContentModel can contain a single FontStyle or ScreenFontStyle node.
Appropriately typed substitution node
TextureBackgroundChildContentModel is the child-node content model utilized by TextureBackground. TextureBackgroundChildContentModel can contain up to six Texture nodes (ImageTexture, MovieTexture, MultiTexture or PixelTexture). Each child texture shall have a different containerField for topTexture, bottomTexture, leftTexture, rightTexture, frontTexture and backTexture.
Appropriately typed substitution node
range +/- 2pi
range +/- 2pi
range +/- 2pi
range +/- 2pi
Alpha value optionally supported until Rendering component level 4.
DirectionalLight might not be scoped by parent Group or Transform at levels 1 or 2.
attrib
attrib
attrib
color
color
fogcoord
normal
texcoord
texcoord
texcoord
texcoord
texcoord
Appropriately typed substitution node
TODO inconsistent camel-case spelling, should be lineType: Mantis 1252
TODO inconsistent camel-case spelling, should be lineWidthScaleFactor: Mantis 1252
A Material with emissiveColor not equal to (0,0,0) and diffuseColor equal to (0,0,0) is an unlit material.
One-bit transparency; transparency values >= 0.5 are transparent.
Deprecated in X3D version 4
The metadata provided by this node is contained in the double-precision floating point numbers of the value field.
name attribute is ordinarily required, unless this is a USE node
Default containerField='metadata' when providing information about the parent element itself, otherwise apply containerField='value' when this element contains payload metadata inside a parent/ancestor MetadataSet element.
The metadata provided by this node is contained in the single-precision floating point numbers of the value field.
name attribute is ordinarily required, unless this is a USE node
Default containerField='metadata' when providing information about the parent element itself, otherwise apply containerField='value' when this element contains payload metadata inside a parent/ancestor MetadataSet element.
The metadata provided by this node is contained in the integer numbers of the value field.
name attribute is ordinarily required, unless this is a USE node
Default containerField='metadata' when providing information about the parent element itself, otherwise apply containerField='value' when this element contains payload metadata inside a parent/ancestor MetadataSet element.
The metadata provided by this node is contained in the metadata nodes of the value field.
name attribute is ordinarily required, unless this is a USE node
The metadata provided by this node is contained in the strings of the value field.
name attribute is ordinarily required, unless this is a USE node
Default containerField='metadata' when providing information about the parent element itself, otherwise apply containerField='value' when this element contains payload metadata inside a parent/ancestor MetadataSet element.
Multiple optional values, but cannot be extended.
Multiple optional values, but cannot be extended.
Multiple optional values, but cannot be extended.
Appropriately typed substitution node
Appropriately typed substitution node
Appropriately typed substitution node
type attribute support for at least "ANY", "FLY", "EXAMINE", and "NONE" at level 1,
plus support for "WALK", "LOOKAT" at level 2.
Note: range [-1..1] required but not enforced since it produces false positives
Linear attenuation may occur at level 2, full support at level 3.
Linear attenuation may occur at level 2, full support at level 3.
StaticGroup is similar to Group node but does not allow access to children after creation time.
children
targetObject
Appropriately typed substitution node
WorldInfo contains a title and simple persistent metadata information about an X3D scene.
This node is strictly for documentation purposes and has no effect on the visual appearance or behaviour of the world.
Functional summary: each added component statement indicates needed scene functionality support above the given X3D profile.
Warning: level is required and must be specified in source document.
Functional summary: EXPORT exposes a local node for ROUTE passing of event values when the current Scene is included via Inline by a parent external world.
These connections allow event values to be exchanged via ROUTE statements between a parent model and a child Inline model.
Functional summary: IMPORT provides ROUTE access to a node that has a corresponding EXPORT statement within an Inline scene.
These connections allow event values to be exchanged via ROUTE statements between a parent model and a child Inline model.
Functional summary: the IS statement connects node fields defined inside a ProtoBody declaration back to corresponding ProtoInterface fields.
IS/connect statements can be added if the parent node is within a ProtoBody and connect statements define correspondences between prototype fields and built-in node fields.
Functional summary: connect statements define event-routing connections between node fields defined inside a ProtoBody declaration back to corresponding ProtoInterface fields.
Functional summary: a field statement defines an interface attribute or node.
Each field statement can contain either attribute-value or node content.
Functional summary: a fieldValue statement re-initializes the default value of a field in a ProtoInstance.
Each fieldValue statement can contain either attribute-value or node content.
Functional summary: each X3D scene includes a head statement that can contain component, unit and meta statements.
Functional summary: the meta statement provides metadata information about a scene, where name and content attributes provide attribute=value metadata pairs.
ExternProtoDeclare refers to a ProtoDeclare node declaration provided in another file.
ExternProtoDeclare interfaces are defined by field statements (and without IS/connect statements).
ProtoDeclare defines new Prototype nodes. Nested ProtoDeclares and ProtoInstances are allowed by the specification.
ProtoInterface defines fields for new Prototype nodes.
ProtoBody contains the definition nodes for new Prototype nodes.
At most one LayerSet can appear in a scene and must be a root node.
ProtoInstance can override field default values via fieldValue initializations.
Non-recursive nested ProtoInstance and ProtoDeclare statements are allowed within a ProtoDeclare.
name attribute is ordinarily required, unless this is a USE node
ROUTE connects output fields of event-producing nodes to input fields of event-consuming nodes.
Scene is the implicit root node of the X3D scene graph.
At most one LayerSet can appear in a scene and must be a root node.
X3D is the root node for an Extensible 3D (X3D) Graphics model.
Warning: version is required and must be specified in source document.
Warning: profile is required and must be specified in source document.
mapping
Appropriately typed substitution node
The first enumeration value of geoSystem is one of geoSystemSpatialReferenceFrameValues. If first value is GD, then second enumeration value is one of geoSystemEarthEllipsoidValues.
geoSystemSpatialReferenceFrameValues are allowed enumeration values of spatial reference frames and earth ellipsoids, providing first value for geoSystem field. Unbounded, additional values are allowed.
Geodetic spatial reference frame (latitude/longitude), to be followed by ellipsoid
Universal Transverse Mercator. One further required argument must be supplied for UTM in order to specify the zone number (1..60) with optional suffix of "S" may be appended in order to specify that the coordinates are in the southern hemisphere. Optional arguments can follow.
Earth-fixed Geocentric with respect to the WGS84 ellipsoid. No additional arguments are supported.
Synonymous to GD, but may be subject to future deprecation
Synonymous to GC, but may be subject to future deprecation
geoSystemEarthEllipsoidValues are allowed enumeration values of earth ellipsoids, providing second value for any geoSystem field that has first value GD. Unbounded, additional values are allowed..
Modified Airy
Australian National
Bessel 1841 (Namibia)
Bessel 1841 (Ethiopia Indonesia ...)
Clarke 1866
Clarke 1880
Everest (India 1830)
Everest (Sabah & Sarawak)
Everest (India 1956)
Everest (W. Malaysia 1969)
Everest (W. Malaysia & Singapore 1948)
Everest (Pakistan)
Modified Fischer 1960
Helmert 1906
Hough 1960
Indonesia 1974
International 1924
Krassovsky 1940
Geodetic Reference System 1980 (GRS 80)
South American 1969
WGS 72
WGS 84
WGS84 geoid
Zone number (1..60) (only used with UTM)
Southern hemisphere (only used with UTM)
The keyword values for the summary field
A name to succinctly identify the dataset to user. For example, "San Francisco, California".
A brief textual description or summary of the content of the dataset. For example, "LANDSAT 7 satellite imagery taken over northern Scotland".
The spatial reference frame used to represent the data (e.g., GD, UTM, or LCC). The list of valid codes that can be used in this field are defined in ISO/IEC 18026. In the case of UTM, the zone number should also be specified in the format "UTM Zx", where the zone number is in the range [1,60]. For example, "UTM Z11".
The name of the geodetic datum. The list of valid codes that can be used in this field are defined in ISO/IEC 18026. For example, "W84".
The name of the vertical datum (geoid). The list of valid codes that can be used in this field are defined in ISO/IEC 18026. For example, "W84".
The name of the geodetic ellipsoid. The list of valid codes that can be used in this field are defined in ISO/IEC 18026. For example, "WE".
The bounding coordinates for the dataset given in spatial reference frame specified by the coordinateSystem keyword. These are provided in the order eastmost, southmost, westmost, northmost. An example for GD is: "-180.0 -90.0 180.0 90.0".
SFFloat resolution, or ground sample distance, given in units of length base units. For example, "30".
A string defining the originator of the data, for example the author, agency, organization, publisher, etc. For example, "John Doe, Any Corporation, Some Town, Some Country"
Any appropriate copyright declaration that pertains to the data. For example, "(c) Copyright 2000, Any Corporation. All rights reserved. Freely distributable."
A single date/time, or a date/time range, defining the valid time period to which the data pertains. Dates are specified in the format "YYYY MM DD [HH:MM]". Years in the current time period should be specified using four digits (EXAMPLE "1999" or "2001"). Years can have other than four digits and can be negative. A date range is specified by supplying two values separated by a "-" (hyphen) character. An optional time can be supplied should this level of accuracy be required. Times are to be specified in 24-hour format with respect to GMT. For example, "1999 01 01 00:00 - 1999 12 31 23:59".
A string that specifies the format of the external metadata description specified by the url field of the GeoMetadata node. For example, "FGDC", "ISO TC211", "CEN TC287", or "OGC".
A hypertext link to the source data used to create the X3D node(s) to which this metadata pertains. Multiple dataUrl keyword/value pairs can be specified in order to provide alternative locations for the same source data. For example, "https://www.foo.bar/data/sf1".
A free-text string that describes the format of the source data used to create the X3D node(s) to which this metadata pertains. This refers to the source data specified by the dataUrl keyword (if present). For example, "USGS 5.5-min DEM".
geoOrigin SFNode
geoOrigin SFNode
children
Note that MFNode rootNode field can contain multiple nodes and has accessType inputOutput.
Meanwhile MFNode children field is outputOnly, unlike other X3DGroupingNode exemplars.
rootNode
geoOrigin SFNode
rootNode
MFNode data field
Appropriately typed substitution node
GeoOrigin is deprecated and discouraged (but nevertheless allowed) in X3D version 3.3.
GeoOrigin is restored in X3D version 4.0 for special use on devices with limited floating-point resolution.
geoOrigin SFNode
geoOrigin SFNode
geoOrigin SFNode
geoOrigin SFNode
children
geoOrigin SFNode
CAESAR joint names for identification of HAnimJoint nodes as defined in the HAnim Architecture specification.
Alternate name values are also allowed.
CAESAR segment names for identification of HAnimSegment nodes as defined in the HAnim Architecture specification.
Alternate names are also allowed.
CAESAR feature point names, index and description for use by HAnimDisplacer nodes as defined in the HAnim Architecture specification.
Alternate names are also allowed.
Keyword names for keyword=value metadata pairs describing a given HAnimHumanoid. Additional keyword=value pairs may be included as needed for specific applications.
Name of Humanoid author.
Email address of Humanoid author.
Copyright information for this Humanoid model (if any).
Creation data for this for this Humanoid model.
Usage restrictions for this Humanoid model (if any).
The humanoidVersion term refers to the version of the humanoid being used, in order to track revisions to the data. It is not the same as the version field of the Humanoid object, which refers to the version of the HAnim specification that was used when building the humanoid.
Description of Humanoid age (not necessarily numeric).
The gender term typically has a value of female, male or neuter.
SFFloat Humanoid height in base units (typically meters).
SFFloat Humanoid weight in base units (typically kilograms).
HAnimSite/HAnimDisplacer name fields must append suffix _view _tip _pt based on functional purpose, thus strict hanimFeaturePointNameValues validation is turned off by default.
name attribute is ordinarily required, unless this is a USE node
SFNode skeleton, or MFNode joints (USE nodes)
MFNode segments (USE nodes)
SFNode skeleton, or MFNode sites/viewpoints (USE nodes)
SFNode skin
SFNode skinCoord
SFNode skinNormal
Appropriately typed substitution node
name attribute is ordinarily required, unless this is a USE node
restricted version of X3DGroupingNode, content model is [HAnimJoint,HAnimSegment,HAnimSite] children and HAnimDisplacer displacers
displacers
children
children
Appropriately typed substitution node
name attribute is ordinarily required, unless this is a USE node
This field shall contain three values or else be an empty array. X3D Working group declined to fix type as SFVec3f in X3D version 4.0, maintaining exact backwards compatibility. Mantis 1116 https://www.web3d.org/member-only/mantis/view.php?id=1116
This field shall contain three values or else be an empty array. X3D Working group declined to fix type as SFVec3f in X3D version 4.0, maintaining exact backwards compatibility. Mantis 1116 https://www.web3d.org/member-only/mantis/view.php?id=1116
This field shall contain three values or else be an empty array.
X3D Working group declined to fix type as SFVec3f in X3D version 4.0, maintaining exact backwards compatibility. Mantis 1116 https://www.web3d.org/member-only/mantis/view.php?id=1116
displacers
name attribute is ordinarily required, unless this is a USE node
HAnimSite/HAnimDisplacer name fields must append suffix (_view _tip _pt) based on functional purpose, thus strict hanimFeaturePointNameValues validation is turned off by default.
name attribute is ordinarily required, unless this is a USE node
children
Appropriately typed substitution node
controlPoint
Appropriately typed substitution node
controlPoint
Appropriately typed substitution node
controlPoint
controlPoint
texCoord
texCoord
texCoord
Appropriately typed substitution node
controlPoint
Appropriately typed substitution node
geometry
Appropriately typed substitution node
controlPoint
Appropriately typed substitution node
crossSectionCurve
crossSectionCurve
trajectoryCurve
Appropriately typed substitution node
profileCurve and trajectoryCurve (each X3DNurbsControlCurveNode)
Appropriately typed substitution node
trimmingContour
controlPoint
controlPoint
texCoord
texCoord
texCoord
Appropriately typed substitution node
children
name attribute is ordinarily required, unless this is a USE node
shape
Appropriately typed substitution node
children
name attribute is ordinarily required, unless this is a USE node
CADPart implements X3DGroupingNode but can only contain CADFace or ProtoInstance nodes
children
Appropriately typed substitution node
IndexedQuadSet is a geometry node that defines quadrilaterals.
QuadSet is a geometry node that defines quadrilaterals.
ComposedShader can contain field declarations, but no CDATA section of plain-text source code, since programs are composed from child ShaderPart nodes.
implements X3DShaderNode, X3DProgrammableShaderObject (and contains no CDATA source)
metadata
parts
Appropriately typed substitution node
parent Appearance node
PackagedShader can contain field declarations, but no CDATA section of plain-text source code.
implements X3DShaderNode, X3DProgrammableShaderObject (and contains no CDATA source)
metadata
ProgramShader contains no field declarations and no plain-text source code.
programs
parent Appearance node
ShaderPart can contain a CDATA section of plain-text source code.
metadata
parent ComposedShader node
ShaderProgram can contain field declarations and a CDATA section of plain-text source code.
metadata
Appropriately typed substitution node
textureProperties
Appropriately typed substitution node
textureProperties
Appropriately typed substitution node
texture
Appropriately typed substitution node
Node type X3DViewpointNode defines a specific location in the local coordinate system from which the user may view the scene,
and also defines a viewpoint binding stack.
Appropriately typed substitution node
The X3DLayerNode abstract node type is the base node type for layer nodes.
The X3DViewportNode abstract node type is the base node type for viewport nodes.
viewport
viewport
layers
Appropriately typed substitution node
X3DLayoutNode is the base node type for layout nodes.
LayoutGroupContentModel includes ChildContentModel as children, plus an X3DLayoutNode as a layout field and an X3DViewportNode as a viewport field.
layout
viewport
viewport
layout
Support for "PIXEL" only required at level 2.
Support for "PIXEL" only required at level 2.
Support for "PIXEL" only required at level 2.
The X3DNBodyCollidableNode abstract node type represents objects that act as the interface between the
rigid body physics, collision geometry proxy, and renderable objects in the scene graph hierarchy.
The X3DNBodyCollisionSpaceNode abstract node type represents objects that act as a
self-contained spatial collection of objects that can interact through collision detection routines.
The X3DRigidJointNode abstract node type is the base type for all joint types.
RigidJointNodeContentModel can contain two RigidBody nodes as body1, body2 fields.
body1, body2
body2, body1
Appropriately typed substitution node
body1, body2
body2, body1
Appropriately typed substitution node
RigidBodyContentModel can contain X3DNBodyCollidableNode nodes as a geometry field, plus a Sphere, Box, or Cone as a massDensityModel field.
massDensityModel
massDensityModel
massDensityModel
geometry
geometry
Appropriately typed substitution node
geometry
geometry
massDensityModel
massDensityModel
massDensityModel
Appropriately typed substitution node
Appropriately typed substitution node
massDensityModel
massDensityModel
massDensityModel
geometry
geometry
Appropriately typed substitution node
RigidBodyCollectionContentModel can contain RigidBody nodes as a bodies field, plus X3DRigidJointNode nodes as a joints field, plus a CollisionCollection node as a collider field.
collider
bodies
joints
massDensityModel
massDensityModel
massDensityModel
massDensityModel
massDensityModel
massDensityModel
Appropriately typed substitution node
joints
massDensityModel
massDensityModel
massDensityModel
massDensityModel
massDensityModel
massDensityModel
bodies
Appropriately typed substitution node
bodies
collider
joints
massDensityModel
massDensityModel
massDensityModel
massDensityModel
massDensityModel
massDensityModel
Appropriately typed substitution node
joints
massDensityModel
massDensityModel
massDensityModel
massDensityModel
massDensityModel
massDensityModel
collider
Appropriately typed substitution node
joints
massDensityModel
massDensityModel
massDensityModel
massDensityModel
massDensityModel
massDensityModel
collider
bodies
Appropriately typed substitution node
bodies
collider
Appropriately typed substitution node
BallJoint represents an unconstrained joint between two bodies that pivot about a common anchor point.
CollidableOffset repositions geometry relative to center of owning body.
collidable
collidable
Appropriately typed substitution node
CollidableShape connects the collision detection system, the rigid body model, and the renderable scene graph.
shape
Appropriately typed substitution node
CollisionCollection holds a collection of objects that can be managed as a single entity for resolution of inter-object collisions.
collidables
Appropriately typed substitution node
Array of appliedParametersChoices. Note that strict validation of appliedParameters enumeration values does not occur via schema since MFString allows any value in any order.
CollisionSensor generates collision-detection events.
collider
Appropriately typed substitution node
CollisionSpace holds collection of objects considered together for resolution of inter-object collisions.
collider
collider
collider
Appropriately typed substitution node
Multiple optional values, but cannot be extended.
Contact nodes are produced as output events when two collidable objects or spaces make contact.
body1
body2
geometry1
geometry2
Appropriately typed substitution node
geometry1
geometry2
Appropriately typed substitution node
geometry1
Appropriately typed substitution node
geometry2
Appropriately typed substitution node
array of appliedParametersChoices. Note that strict validation of appliedParameters enumeration values does not occur via schema since MFString allows any value in any order.
DoubleAxisHingeJoint has two independent axes located around a common anchor point.
MotorJoint drives relative angular velocities between body1 and body2 within a common reference frame.
RigidBody describes a collection of shapes with a mass distribution that is affected by the physics model.
RigidBodyCollection represents a system of bodies that interact within a single physics model.
SingleAxisHingeJoint has single axis about which to rotate, similar to a traditional door hinge.
Contains two RigidBody nodes (containerField values body1, body2).
SliderJoint constrains all movement between body1 and body2 along a single axis.
Contains two RigidBody nodes (containerField values body1, body2).
UniversalJoint is like a BallJoint that constrains an extra degree of rotational freedom.
Child-node content model utilized by nodes derived from X3DPickSensorNode type. PickSensorGroupingNodeContentModel can contain a single X3DGeometryNode as pickingGeometry, plus an array of X3DGroupingNode, X3DShapeNode and Inline nodes as pickTarget.
The X3DPickableObject abstract interface marks a node as being capable of having customized picking performed on its contents or children.
The X3DPickSensorNode abstract node type is the base node type that represents the lowest common denominator of picking capabilities.
pickingGeometry
pickTarget
Appropriately typed substitution node
Appropriately typed substitution node
pickingGeometry
pickTarget
Appropriately typed substitution node
If a non-uniform scale is applied to the pick sensor, correct results may require level 3 support.
pickingGeometry
pickTarget
Appropriately typed substitution node
pickingGeometry
pickTarget
Appropriately typed substitution node
The X3DChaserNode abstract node type calculates the output on value_changed as a finite impulse response (FIR)
based on the events received on set_destination field.
The X3DDamperNode abstract node type creates an IIR response that approaches the destination value
according to the shape of the e-function only asymptotically but very quickly.
X3DFollowerNode is the abstract base class for all nodes in the Followers component.
The X3DParticleEmitterNode abstract type represents any node that is an emitter of particles.
The X3DParticlePhysicsModelNode abstract type represents any node that applies a form of constraints on the particles after they have been generated.
geometry
Appropriately typed substitution node
coord
Appropriately typed substitution node
surface
surface
Appropriately typed substitution node
coord
Appropriately typed substitution node
Support for SFNode geometry field (inherited from X3DShapeNode) is required at level 3.
SFNode
colorRamp
colorRamp
SFNode
emitter
emitter
emitter
emitter
emitter
emitter
MFNode
physics
physics
physics
physics
texCoordRamp
geometryType "SPRITE" supported at level 2, and geometryType "GEOMETRY" supported at level 3.