Difference between revisions of "Player support for X3D components"

From Web3D.org
Jump to: navigation, search
(file encodings for Pivoron)
("?" into component list - I am not sure what values exactly are - so better "?" to avoid guessing resulting in bad information)
Line 168: Line 168:
 
! <!-- SwirlX3D --> style="color:green" | yes
 
! <!-- SwirlX3D --> style="color:green" | yes
 
! <!-- Xj3D --> style="color:green" | yes
 
! <!-- Xj3D --> style="color:green" | yes
! <!-- Pivoron -->
+
! <!-- Pivoron --> style="color:grey" | ?
 
! <!-- Flux --> style="color:maroon" | no
 
! <!-- Flux --> style="color:maroon" | no
 
! <!-- Vivaty --> style="color:maroon" | no
 
! <!-- Vivaty --> style="color:maroon" | no
Line 183: Line 183:
 
! <!-- SwirlX3D --> style="color:green" | yes
 
! <!-- SwirlX3D --> style="color:green" | yes
 
! <!-- Xj3D --> style="color:green" | yes
 
! <!-- Xj3D --> style="color:green" | yes
! <!-- Pivoron -->
+
! <!-- Pivoron --> style="color:grey" | ?
 
! <!-- Flux --> style="color:green" | yes
 
! <!-- Flux --> style="color:green" | yes
 
! <!-- Vivaty --> style="color:green" | yes
 
! <!-- Vivaty --> style="color:green" | yes
Line 198: Line 198:
 
! <!-- SwirlX3D --> style="color:maroon" | no
 
! <!-- SwirlX3D --> style="color:maroon" | no
 
! <!-- Xj3D --> style="color:maroon" | no
 
! <!-- Xj3D --> style="color:maroon" | no
! <!-- Pivoron -->
+
! <!-- Pivoron --> style="color:grey" | ?
 
! <!-- Flux --> style="color: black" | partial
 
! <!-- Flux --> style="color: black" | partial
 
! <!-- Vivaty --> style="color: black" | partial
 
! <!-- Vivaty --> style="color: black" | partial
Line 213: Line 213:
 
! <!-- SwirlX3D --> style="color:maroon" | no
 
! <!-- SwirlX3D --> style="color:maroon" | no
 
! <!-- Xj3D --> style="color:green" | yes
 
! <!-- Xj3D --> style="color:green" | yes
! <!-- Pivoron -->
+
! <!-- Pivoron --> style="color:grey" | ?
 
! <!-- Flux --> style="color:maroon" | no
 
! <!-- Flux --> style="color:maroon" | no
 
! <!-- Vivaty --> style="color:maroon" | no
 
! <!-- Vivaty --> style="color:maroon" | no
Line 228: Line 228:
 
! <!-- SwirlX3D --> style="color:green" | yes
 
! <!-- SwirlX3D --> style="color:green" | yes
 
! <!-- Xj3D --> style="color:green" | yes
 
! <!-- Xj3D --> style="color:green" | yes
! <!-- Pivoron -->
+
! <!-- Pivoron --> style="color:grey" | ?
 
! <!-- Flux --> style="color:green" | yes
 
! <!-- Flux --> style="color:green" | yes
 
! <!-- Vivaty --> style="color:green" | yes
 
! <!-- Vivaty --> style="color:green" | yes
Line 243: Line 243:
 
! <!-- SwirlX3D --> style="color:green" | yes
 
! <!-- SwirlX3D --> style="color:green" | yes
 
! <!-- Xj3D --> style="color:green" | yes
 
! <!-- Xj3D --> style="color:green" | yes
! <!-- Pivoron -->
+
! <!-- Pivoron --> style="color:grey" | ?
 
! <!-- Flux --> style="color:green" | yes
 
! <!-- Flux --> style="color:green" | yes
 
! <!-- Vivaty --> style="color:green" | yes
 
! <!-- Vivaty --> style="color:green" | yes
Line 258: Line 258:
 
! <!-- SwirlX3D --> style="color:green" | yes
 
! <!-- SwirlX3D --> style="color:green" | yes
 
! <!-- Xj3D --> style="color:green" | yes
 
! <!-- Xj3D --> style="color:green" | yes
! <!-- Pivoron -->
+
! <!-- Pivoron --> style="color:grey" | ?
 
! <!-- Flux --> style="color:green" | yes
 
! <!-- Flux --> style="color:green" | yes
 
! <!-- Vivaty --> style="color:green" | yes
 
! <!-- Vivaty --> style="color:green" | yes
Line 273: Line 273:
 
! <!-- SwirlX3D --> style="color:maroon" | no
 
! <!-- SwirlX3D --> style="color:maroon" | no
 
! <!-- Xj3D --> style="color:maroon" | no
 
! <!-- Xj3D --> style="color:maroon" | no
! <!-- Pivoron -->
+
! <!-- Pivoron --> style="color:grey" | ?
 
! <!-- Flux --> style="color:maroon" | no
 
! <!-- Flux --> style="color:maroon" | no
 
! <!-- Vivaty --> style="color:maroon" | no
 
! <!-- Vivaty --> style="color:maroon" | no
Line 288: Line 288:
 
! <!-- SwirlX3D --> style="color:green" | yes
 
! <!-- SwirlX3D --> style="color:green" | yes
 
! <!-- Xj3D --> style="color: black" | partial
 
! <!-- Xj3D --> style="color: black" | partial
! <!-- Pivoron -->
+
! <!-- Pivoron --> style="color:grey" | ?
 
! <!-- Flux --> style="color:maroon" | no
 
! <!-- Flux --> style="color:maroon" | no
 
! <!-- Vivaty --> style="color:maroon" | no
 
! <!-- Vivaty --> style="color:maroon" | no
Line 303: Line 303:
 
! <!-- SwirlX3D --> style="color:green" | yes
 
! <!-- SwirlX3D --> style="color:green" | yes
 
! <!-- Xj3D --> style="color:green" | yes
 
! <!-- Xj3D --> style="color:green" | yes
! <!-- Pivoron -->
+
! <!-- Pivoron --> style="color:grey" | ?
 
! <!-- Flux --> style="color:green" | yes
 
! <!-- Flux --> style="color:green" | yes
 
! <!-- Vivaty --> style="color:green" | yes
 
! <!-- Vivaty --> style="color:green" | yes
Line 318: Line 318:
 
! <!-- SwirlX3D --> style="color:maroon" | no
 
! <!-- SwirlX3D --> style="color:maroon" | no
 
! <!-- Xj3D --> style="color:green" | yes
 
! <!-- Xj3D --> style="color:green" | yes
! <!-- Pivoron -->
+
! <!-- Pivoron --> style="color:grey" | ?
 
! <!-- Flux --> style="color:maroon" | no
 
! <!-- Flux --> style="color:maroon" | no
 
! <!-- Vivaty --> style="color:maroon" | no
 
! <!-- Vivaty --> style="color:maroon" | no
Line 333: Line 333:
 
! <!-- SwirlX3D --> style="color:green" | yes
 
! <!-- SwirlX3D --> style="color:green" | yes
 
! <!-- Xj3D --> style="color:green" | yes
 
! <!-- Xj3D --> style="color:green" | yes
! <!-- Pivoron -->
+
! <!-- Pivoron --> style="color:grey" | ?
 
! <!-- Flux --> style="color:green" | yes
 
! <!-- Flux --> style="color:green" | yes
 
! <!-- Vivaty --> style="color:green" | yes
 
! <!-- Vivaty --> style="color:green" | yes
Line 348: Line 348:
 
! <!-- SwirlX3D --> style="color: black" | partial
 
! <!-- SwirlX3D --> style="color: black" | partial
 
! <!-- Xj3D --> style="color:green" | yes
 
! <!-- Xj3D --> style="color:green" | yes
! <!-- Pivoron -->
+
! <!-- Pivoron --> style="color:grey" | ?
 
! <!-- Flux --> style="color:green" | yes
 
! <!-- Flux --> style="color:green" | yes
 
! <!-- Vivaty --> style="color:green" | yes
 
! <!-- Vivaty --> style="color:green" | yes
Line 363: Line 363:
 
! <!-- SwirlX3D --> style="color:green" | yes
 
! <!-- SwirlX3D --> style="color:green" | yes
 
! <!-- Xj3D --> style="color:green" | yes
 
! <!-- Xj3D --> style="color:green" | yes
! <!-- Pivoron -->
+
! <!-- Pivoron --> style="color:grey" | ?
 
! <!-- Flux --> style="color:green" | yes
 
! <!-- Flux --> style="color:green" | yes
 
! <!-- Vivaty --> style="color:green" | yes
 
! <!-- Vivaty --> style="color:green" | yes
Line 378: Line 378:
 
! <!-- SwirlX3D --> style="color:green" | yes
 
! <!-- SwirlX3D --> style="color:green" | yes
 
! <!-- Xj3D --> style="color:green" | yes
 
! <!-- Xj3D --> style="color:green" | yes
! <!-- Pivoron -->
+
! <!-- Pivoron --> style="color:grey" | ?
 
! <!-- Flux --> style="color:green" | yes
 
! <!-- Flux --> style="color:green" | yes
 
! <!-- Vivaty --> style="color:green" | yes
 
! <!-- Vivaty --> style="color:green" | yes
Line 393: Line 393:
 
! <!-- SwirlX3D --> style="color:green" | yes
 
! <!-- SwirlX3D --> style="color:green" | yes
 
! <!-- Xj3D --> style="color:maroon" | no
 
! <!-- Xj3D --> style="color:maroon" | no
! <!-- Pivoron -->
+
! <!-- Pivoron --> style="color:grey" | ?
 
! <!-- Flux --> style="color: black" | partial
 
! <!-- Flux --> style="color: black" | partial
 
! <!-- Vivaty --> style="color: black" | partial
 
! <!-- Vivaty --> style="color: black" | partial
Line 408: Line 408:
 
! <!-- SwirlX3D --> style="color:green" | yes
 
! <!-- SwirlX3D --> style="color:green" | yes
 
! <!-- Xj3D --> style="color:maroon" | no
 
! <!-- Xj3D --> style="color:maroon" | no
! <!-- Pivoron -->
+
! <!-- Pivoron --> style="color:grey" | ?
 
! <!-- Flux --> style="color: black" | partial
 
! <!-- Flux --> style="color: black" | partial
 
! <!-- Vivaty --> style="color: black" | partial
 
! <!-- Vivaty --> style="color: black" | partial
Line 423: Line 423:
 
! <!-- SwirlX3D --> style="color:green" | yes
 
! <!-- SwirlX3D --> style="color:green" | yes
 
! <!-- Xj3D --> style="color:green" | yes
 
! <!-- Xj3D --> style="color:green" | yes
! <!-- Pivoron -->
+
! <!-- Pivoron --> style="color:grey" | ?
 
! <!-- Flux --> style="color:green" | yes
 
! <!-- Flux --> style="color:green" | yes
 
! <!-- Vivaty --> style="color:green" | yes
 
! <!-- Vivaty --> style="color:green" | yes
Line 438: Line 438:
 
! <!-- SwirlX3D --> style="color:green" | yes
 
! <!-- SwirlX3D --> style="color:green" | yes
 
! <!-- Xj3D --> style="color:green" | yes
 
! <!-- Xj3D --> style="color:green" | yes
! <!-- Pivoron -->
+
! <!-- Pivoron --> style="color:grey" | ?
 
! <!-- Flux --> style="color:green" | yes
 
! <!-- Flux --> style="color:green" | yes
 
! <!-- Vivaty --> style="color:green" | yes
 
! <!-- Vivaty --> style="color:green" | yes
Line 453: Line 453:
 
! <!-- SwirlX3D --> style="color:green" | yes
 
! <!-- SwirlX3D --> style="color:green" | yes
 
! <!-- Xj3D --> style="color:green" | yes
 
! <!-- Xj3D --> style="color:green" | yes
! <!-- Pivoron -->
+
! <!-- Pivoron --> style="color:grey" | ?
 
! <!-- Flux --> style="color:green" | yes
 
! <!-- Flux --> style="color:green" | yes
 
! <!-- Vivaty --> style="color:green" | yes
 
! <!-- Vivaty --> style="color:green" | yes
Line 468: Line 468:
 
! <!-- SwirlX3D --> style="color:green" | yes
 
! <!-- SwirlX3D --> style="color:green" | yes
 
! <!-- Xj3D --> style="color:maroon" | no
 
! <!-- Xj3D --> style="color:maroon" | no
! <!-- Pivoron -->
+
! <!-- Pivoron --> style="color:grey" | ?
 
! <!-- Flux --> style="color: black" | partial
 
! <!-- Flux --> style="color: black" | partial
 
! <!-- Vivaty --> style="color: black" | partial
 
! <!-- Vivaty --> style="color: black" | partial
Line 483: Line 483:
 
! <!-- SwirlX3D --> style="color:maroon" | no
 
! <!-- SwirlX3D --> style="color:maroon" | no
 
! <!-- Xj3D --> style="color:green" | yes
 
! <!-- Xj3D --> style="color:green" | yes
! <!-- Pivoron -->
+
! <!-- Pivoron --> style="color:grey" | ?
 
! <!-- Flux --> style="color: black" | partial
 
! <!-- Flux --> style="color: black" | partial
 
! <!-- Vivaty --> style="color: black" | partial
 
! <!-- Vivaty --> style="color: black" | partial
Line 498: Line 498:
 
! <!-- SwirlX3D --> style="color:maroon" | no
 
! <!-- SwirlX3D --> style="color:maroon" | no
 
! <!-- Xj3D --> style="color:green" | yes
 
! <!-- Xj3D --> style="color:green" | yes
! <!-- Pivoron -->
+
! <!-- Pivoron --> style="color:grey" | ?
 
! <!-- Flux --> style="color:green" | yes
 
! <!-- Flux --> style="color:green" | yes
 
! <!-- Vivaty --> style="color:green" | yes
 
! <!-- Vivaty --> style="color:green" | yes
Line 513: Line 513:
 
! <!-- SwirlX3D --> style="color:green" | yes
 
! <!-- SwirlX3D --> style="color:green" | yes
 
! <!-- Xj3D --> style="color:green" | yes
 
! <!-- Xj3D --> style="color:green" | yes
! <!-- Pivoron -->
+
! <!-- Pivoron --> style="color:grey" | ?
 
! <!-- Flux --> style="color:green" | yes
 
! <!-- Flux --> style="color:green" | yes
 
! <!-- Vivaty --> style="color:green" | yes
 
! <!-- Vivaty --> style="color:green" | yes
Line 528: Line 528:
 
! <!-- SwirlX3D --> style="color: black" | partial
 
! <!-- SwirlX3D --> style="color: black" | partial
 
! <!-- Xj3D --> style="color:maroon" | no
 
! <!-- Xj3D --> style="color:maroon" | no
! <!-- Pivoron -->
+
! <!-- Pivoron --> style="color:grey" | ?
 
! <!-- Flux --> style="color:maroon" | no
 
! <!-- Flux --> style="color:maroon" | no
 
! <!-- Vivaty --> style="color:maroon" | no
 
! <!-- Vivaty --> style="color:maroon" | no
Line 543: Line 543:
 
! <!-- SwirlX3D --> style="color:green" | yes
 
! <!-- SwirlX3D --> style="color:green" | yes
 
! <!-- Xj3D --> style="color:green" | yes
 
! <!-- Xj3D --> style="color:green" | yes
! <!-- Pivoron -->
+
! <!-- Pivoron --> style="color:grey" | ?
 
! <!-- Flux --> style="color:green" | yes
 
! <!-- Flux --> style="color:green" | yes
 
! <!-- Vivaty --> style="color:green" | yes
 
! <!-- Vivaty --> style="color:green" | yes
Line 558: Line 558:
 
! <!-- SwirlX3D --> style="color:maroon" | no
 
! <!-- SwirlX3D --> style="color:maroon" | no
 
! <!-- Xj3D --> style="color: black" | partial  
 
! <!-- Xj3D --> style="color: black" | partial  
! <!-- Pivoron -->
+
! <!-- Pivoron --> style="color:grey" | ?
 
! <!-- Flux --> style="color:maroon" | no
 
! <!-- Flux --> style="color:maroon" | no
 
! <!-- Vivaty --> style="color:maroon" | no
 
! <!-- Vivaty --> style="color:maroon" | no
Line 573: Line 573:
 
! <!-- SwirlX3D --> style="color:maroon" | no
 
! <!-- SwirlX3D --> style="color:maroon" | no
 
! <!-- Xj3D --> style="color:green" | yes  
 
! <!-- Xj3D --> style="color:green" | yes  
! <!-- Pivoron -->
+
! <!-- Pivoron --> style="color:grey" | ?
 
! <!-- Flux --> style="color:green" | yes
 
! <!-- Flux --> style="color:green" | yes
 
! <!-- Vivaty --> style="color:green" | yes
 
! <!-- Vivaty --> style="color:green" | yes
Line 588: Line 588:
 
! <!-- SwirlX3D --> style="color:maroon" | no
 
! <!-- SwirlX3D --> style="color:maroon" | no
 
! <!-- Xj3D --> style="color:green" | yes
 
! <!-- Xj3D --> style="color:green" | yes
! <!-- Pivoron -->
+
! <!-- Pivoron --> style="color:grey" | ?
 
! <!-- Flux --> style="color:maroon" | no
 
! <!-- Flux --> style="color:maroon" | no
 
! <!-- Vivaty --> style="color:maroon" | no
 
! <!-- Vivaty --> style="color:maroon" | no
Line 603: Line 603:
 
! <!-- SwirlX3D --> style="color:green" | yes
 
! <!-- SwirlX3D --> style="color:green" | yes
 
! <!-- Xj3D --> style="color:green" | yes
 
! <!-- Xj3D --> style="color:green" | yes
! <!-- Pivoron -->
+
! <!-- Pivoron --> style="color:grey" | ?
 
! <!-- Flux --> style="color:green" | yes
 
! <!-- Flux --> style="color:green" | yes
 
! <!-- Vivaty --> style="color:green" | yes
 
! <!-- Vivaty --> style="color:green" | yes
Line 618: Line 618:
 
! <!-- SwirlX3D --> style="color:maroon" | no
 
! <!-- SwirlX3D --> style="color:maroon" | no
 
! <!-- Xj3D --> style="color: black" | partial
 
! <!-- Xj3D --> style="color: black" | partial
! <!-- Pivoron -->
+
! <!-- Pivoron --> style="color:grey" | ?
 
! <!-- Flux --> style="color:maroon" | no
 
! <!-- Flux --> style="color:maroon" | no
 
! <!-- Vivaty --> style="color:maroon" | no
 
! <!-- Vivaty --> style="color:maroon" | no
Line 633: Line 633:
 
! <!-- SwirlX3D --> style="color:maroon" | no
 
! <!-- SwirlX3D --> style="color:maroon" | no
 
! <!-- Xj3D --> style="color:green" | yes
 
! <!-- Xj3D --> style="color:green" | yes
! <!-- Pivoron -->
+
! <!-- Pivoron --> style="color:grey" | ?
 
! <!-- Flux --> style="color:maroon" | no
 
! <!-- Flux --> style="color:maroon" | no
 
! <!-- Vivaty --> style="color:maroon" | no
 
! <!-- Vivaty --> style="color:maroon" | no
Line 648: Line 648:
 
! <!-- SwirlX3D --> style="color:green" | yes
 
! <!-- SwirlX3D --> style="color:green" | yes
 
! <!-- Xj3D --> style="color: black" | partial
 
! <!-- Xj3D --> style="color: black" | partial
! <!-- Pivoron -->
+
! <!-- Pivoron --> style="color:grey" | ?
 
! <!-- Flux --> style="color:green" | yes
 
! <!-- Flux --> style="color:green" | yes
 
! <!-- Vivaty --> style="color:green" | yes
 
! <!-- Vivaty --> style="color:green" | yes
Line 663: Line 663:
 
! <!-- SwirlX3D --> style="color:green" | yes
 
! <!-- SwirlX3D --> style="color:green" | yes
 
! <!-- Xj3D --> style="color: black" | partial
 
! <!-- Xj3D --> style="color: black" | partial
! <!-- Pivoron -->
+
! <!-- Pivoron --> style="color:grey" | ?
 
! <!-- Flux --> style="color:green" | yes
 
! <!-- Flux --> style="color:green" | yes
 
! <!-- Vivaty --> style="color:green" | yes
 
! <!-- Vivaty --> style="color:green" | yes
Line 678: Line 678:
 
! <!-- SwirlX3D --> style="color: black" | partial
 
! <!-- SwirlX3D --> style="color: black" | partial
 
! <!-- Xj3D --> style="color:green" | yes
 
! <!-- Xj3D --> style="color:green" | yes
! <!-- Pivoron -->
+
! <!-- Pivoron --> style="color:grey" | ?
 
! <!-- Flux --> style="color:green" | yes
 
! <!-- Flux --> style="color:green" | yes
 
! <!-- Vivaty --> style="color:green" | yes
 
! <!-- Vivaty --> style="color:green" | yes
Line 693: Line 693:
 
! <!-- SwirlX3D --> style="color:maroon" | no
 
! <!-- SwirlX3D --> style="color:maroon" | no
 
! <!-- Xj3D --> style="color: black" | partial
 
! <!-- Xj3D --> style="color: black" | partial
! <!-- Pivoron -->
+
! <!-- Pivoron --> style="color:grey" | ?
 
! <!-- Flux --> style="color:maroon" | no
 
! <!-- Flux --> style="color:maroon" | no
 
! <!-- Vivaty --> style="color:maroon" | no
 
! <!-- Vivaty --> style="color:maroon" | no
Line 708: Line 708:
 
! <!-- SwirlX3D --> style="color:green" | yes
 
! <!-- SwirlX3D --> style="color:green" | yes
 
! <!-- Xj3D --> style="color:green" | yes
 
! <!-- Xj3D --> style="color:green" | yes
! <!-- Pivoron -->
+
! <!-- Pivoron --> style="color:grey" | ?
 
! <!-- Flux --> style="color:green" | yes
 
! <!-- Flux --> style="color:green" | yes
 
! <!-- Vivaty --> style="color:green" | yes
 
! <!-- Vivaty --> style="color:green" | yes
Line 723: Line 723:
 
! <!-- SwirlX3D --> style="color:maroon" | no
 
! <!-- SwirlX3D --> style="color:maroon" | no
 
! <!-- Xj3D --> style="color:green" | yes
 
! <!-- Xj3D --> style="color:green" | yes
! <!-- Pivoron -->
+
! <!-- Pivoron --> style="color:grey" | ?
 
! <!-- Flux --> style="color:maroon" | no
 
! <!-- Flux --> style="color:maroon" | no
 
! <!-- Vivaty --> style="color:maroon" | no
 
! <!-- Vivaty --> style="color:maroon" | no

Revision as of 11:52, 9 July 2012

The Extensible 3D (X3D) Graphics standard has many capabilities. X3D components are modular collections of nodes that make it easier for software to gradually implement the full range of X3D capabilities.

Authors can also indicate what components are needed in an X3D scene in order to ensure that proper support is provided at run time.

This table records support for the official X3D components by each of the various X3D players. It is maintained by the X3D Working Group and member companies in the Web3D Consortium.

The X3D Resources page provides lots of additional information about X3D. Please Contact Web3D if you want to learn more or report an update.

Related pages: Plug-in and browser compliance, Tool support for X3D components, X3D Resources: Applications, X3D Implementations, and X3D Plugfest.


Table key

  •    yes     all nodes, all fields supported for all levels of this component (though some bugs may be present)
  • partial   some nodes and fields supported
  • level #   which component level number (1-4) is supported (found at end of each component specification)
  •    no       no support provided
  •     ?        unknown, need status report


Players and versions H3DViewer BS Contact, BS Contact Geo, BS Contact Stereo, see also Mac, iOS and Android versions FreeWRL/FreeX3D Heilan InstantPlayer Octaga Player OpenVRML SwirlX3D Xj3D Pivoron Flux Vivaty
v2.1 v8.0 v1.22.8 v0.15 2.1 v4.0 v0.17.9 v2.1.7 1.0 v1.0 v2.1 v1.0 build 900
X3D Conformance Certification none Interchange Profile Interchange Profile none none none none none Interchange Profile none Interchange Profile Interchange Profile

File Encodings
- XML (.x3d) yes yes yes yes yes yes  ? yes yes no yes yes
- ClassicVRML (.x3dv) yes yes yes no yes yes yes yes yes no yes yes
- Compressed Binary Encoding (.x3db) no yes no no partial no no no yes no no no
- VRML 97 (v2.0) (.wrl) yes yes yes  ? yes yes yes  ? yes yes yes yes
- VRML 1 (v1.0) (.wrl) no no yes  ?  ?  ?  ?  ?  ? no no no

X3D component list
CAD geometry no yes no no yes yes partial yes yes  ? no no
Core yes yes yes partial
(not Proto)
yes yes yes yes yes  ? yes yes
Cube map environmental texturing yes yes partial no yes yes no no no  ? partial partial
Distributed interactive simulation (DIS) no no no no no no partial no yes  ? no no
Environmental effects yes yes level 3 level 2 yes yes partial yes yes  ? yes yes
Environmental sensor level 2 yes yes no partial yes partial yes yes  ? yes yes
Event utilities yes yes yes yes yes yes partial yes yes  ? yes yes
Followers no yes no no yes yes no no no  ? no no
Geometry2D yes partial yes no yes yes partial yes partial  ? no no
Geometry3D yes yes yes level 3 yes yes partial yes yes  ? yes yes
Geospatial no yes yes no yes partial partial no yes  ? no no
Grouping level 2 yes yes level 2 yes yes partial yes yes  ? yes yes
Humanoid animation (H-Anim) no yes partial no yes partial partial partial yes  ? yes yes
Interpolation level 4 yes level 3 level 2 yes yes partial yes yes  ? yes yes
Key device sensor yes yes yes level 2 partial yes partial yes yes  ? yes yes
Layering no yes no no no partial no yes no  ? partial partial
Layout no yes no no no partial no yes no  ? partial partial
Lighting yes yes yes level 2 yes yes partial yes yes  ? yes yes
Navigation yes yes yes level 1 yes yes partial yes yes  ? yes yes
Networking partial level 4 level 3 no yes yes partial yes yes  ? yes yes
NURBS partial yes no no yes partial partial yes no  ? partial partial
Particle systems yes partial no no no yes no no yes  ? partial partial
Picking sensor no no no no no no no no yes  ? yes yes
Pointing device sensor yes yes yes no yes yes partial yes yes  ? yes yes
Programmable shaders yes yes yes no yes yes no partial no  ? no no
Rendering level 3 level 4 (partial level 5) level 4 level 4 yes yes partial yes yes  ? yes yes
Rigid body physics yes partial no no  ? yes no no partial  ? no no
Scripting - ECMAScript no yes yes no yes yes partial no yes  ? yes yes
Scripting - Java no partial (external) partial (external) no yes yes partial no yes  ? no no
Shape yes yes yes level 2 yes yes partial yes yes  ? yes yes
- FillProperties node partial yes yes (requires runtime shader support) no no partial partial no partial  ? no no
- LineProperties node partial yes yes no partial yes partial no yes  ? no no
Sound yes yes yes (rewrite for newer APIs in V1.22.4) yes yes yes partial yes partial  ? yes yes
Text yes yes yes no yes yes partial yes partial  ? yes yes
Texturing level 2 yes yes (MovieTexture for newer APIs in V1.22.4) level 1 yes yes partial partial yes  ? yes yes
Texturing3D yes yes no no yes yes no no partial  ? no no
Time yes yes yes level 2 yes yes partial yes yes  ? yes yes
Volume Rendering (X3D v3.3) yes no no no yes no no no yes  ? no no
Players H3DViewer BS Contact FreeWRL/FreeX3D Heilan InstantPlayer Octaga OpenVRML SwirlX3D Xj3D Pivoron Flux Vivaty