X3D/HTML Implementations

From Web3D.org
Revision as of 03:51, 6 December 2017 by Walroy (Talk | contribs) (Javascript functions)

Jump to: navigation, search


This page reviews each of the X3D/HTML implementations, with respect to the X3D V3.3 standard ISO/IEC 19775-1:2015, the X3D version 4.0 Development strategy, as well as the X3D V4 HTML Integration Requirements. The aim of this review is to identify any features that may need to be added, or possibly deleted from, the upcoming suite of X3D V4.0 standards.


X3D Tag Attributes

The first four are attributes of the X3D tag

  • 'showLog'
  • 'showStat'
  • 'showProgress'
  • 'PrimitiveQuality'

These twelve are attributes of any PARAM child element of the X3D tag. See this old documentation. The additional comments below were supplied by Andreas.

  • 'components'
  • 'loadpath'
  • 'disableDoubleClick' - expected to work, double click otherwise recentres
  • 'backend'
  • 'altImg'
  • 'flashrenderer' - flash is not supported anymore
  • 'swfpath' - flash is not supported anymore
  • 'runtimeEnabled' - disables x3dom runtime interface, not sure if disabling works
  • 'keysEnabled' - disables keys, probably works
  • 'showTouchpoints' - for mobile, likely works, is useful
  • 'disableTouch'
  • 'maxActiveDownloads' - x3dom has a download manager for resources

Javascript functions

  • “getAttribute” / “setAttribute” - standard DOM calls, using strings for the value
  • “getFieldValue” / “setFieldValue” - operate directly on the X3D scene graph using typed values - Andreas reports that the DOM is not synchronized
  • “requestFieldRef” / “releaseFieldRef” - gets a field reference. Any modification is a direct modification of the X3D scene graph

X3D specific event handlers


  • OnOutputChanged

X3D Nodes with additional or missing fields

  • X3DBackgroundNode – additional “crossOrigin” field
  • X3DBindableNode – different “bind” field, “isActive” rather than “isBound”, an additional “description” field, and is missing the “bindTime” field
  • X3DComposableVolumeRenderStyleNode – additional “surfaceNormals” field
  • X3DGeometryNode – additional “lit” and “useGeoCache” fields. The “ccw” and “solid” are not in the X3D X3DGeometryNode, but are in many of the geometry items
  • X3DGroupingNode – additional “render” field
  • X3DLightNode – additional “shadowFilterSize”, “shadowIntensity”, “shadowMapSize”, “shadowOffset”, “zFar”, and “zNear” fields
  • X3DSensorNode – missing “isActive” field
  • X3DShapeNode – additional “isPickable” and "idOffset"fields
  • X3DTextureNode – additional “origChannelCount”, “scale” and “crossOrigin” fields
  • TimeSensor – additional “first” and “firstCycle” fields

Additional nodes not in X3D

  • BinaryGeometry – imports the specific binary format from AOPT
  • BlendMode
  • Block
  • ColorMaskMode
  • CommonSurfaceShader
  • DepthMode
  • Dish
  • DynamicLOD
  • ExternalGeometry
  • ExternalShape
  • ImageGeometry
  • ImageTextureAtlas
  • MatrixTransform
  • Mesh
  • MPRVolumeStyle
  • MultiPart
  • Nozzle
  • Plane
  • PopGeometry
  • PopGeometryLevel
  • Pyramid
  • RadarVolumeStyle
  • RectangularTorus
  • RefinementTexture
  • RemoteSelectionGroup
  • SlopedCylinder
  • Snout
  • SolidOfRevolution
  • SphereSegment
  • StippleVolumeStyle – not yet implemented
  • SurfaceShaderTexture
  • Torus
  • Uniform
  • ViewFrustrum

Proposed HTML Profile

A new proposed HTML profile is listed on the X3DOM web site, which details an extension to the X3D Interchange profile.