FreeWRL welcome graphic

FreeWRL Conformance

Web3D X3D standards are located here.

ISO/IEC IS 19775-1:2013 V3.3 Compatibility

Core Component

Node Status
MetadataDouble Complete
MetadataFloat Complete
MetadataInteger Complete
MetadataSet Complete
MetadataString Complete
head Complete
PROFILE Complete
META Complete
ROUTE Complete
PROTO Complete
UNIT Complete

Time Component

Node Status
TimeSensor Complete

Networking Component

Node Status
Anchor Complete
Inline Complete
LoadSensor Complete
URLs Complete
Relative URLs Complete
Scripting Language Protocols Complete
Browser options Complete
IMPORT Complete
EXPORT Complete

Grouping Component

Node Status
Group Complete
StaticGroup Complete
Switch Complete
Transform Complete

Rendering Component

Node Status
Color Complete
ColorRGBA Complete
Coordinate Complete
IndexedLineSet Complete
IndexedTriangleFanSet Complete
IndexedTriangleSet Complete
IndexedTriangleStripSet Complete
LineSet Complete
Normal Complete
PointSet Complete
TriangleFanSet Complete
TriangleSet Complete
TriangleStripSet Complete
ClipPlane Complete

Shape Component

Node Status
Appearance Complete
FillProperties Complete
LineProperties Complete
Material Complete
Shape Complete
TwoSidedMaterial Complete

Geometry3D Component

Node Status
Box Complete
Cone Complete
Cylinder Complete
ElevationGrid Complete
Extrusion Complete
IndexedFaceSet Complete
Sphere Complete

Geometry2D Component

Node Status
Arc2D Complete
ArcClose2D Complete
Circle2D Complete
Disk2D Complete
Polyline2D Complete
Polypoint2D Complete
Rectangle2D Complete
TriangleSet2D Complete

Text Component

Node Status
FontStyle Complete
Text Complete

Sound Component

Node Status
AudioClip Complete
Sound Complete

Lighting Component

Node Status
DirectionalLight Complete
PointLight Complete
SpotLight Complete

Texturing Component

Node Status
ImageTexture Complete
MovieTexture Complete
MultiTexture Complete
MultiTextureCoordinate Complete
MultiTextureTransform Complete
PixelTexture Complete
TextureCoordinate Complete
TextureCoordinateGenerator Complete
TextureTransform Complete
TextureProperties Not Implemented

Interpolation Component

Node Status
ColorInterpolator Complete
CoordinateInterpolator Complete
CoordinateInterpolator2D Complete
NormalInterpolator Complete
OrientationInterpolator Complete
PositionInterpolator Complete
PositionInterpolator2D Complete
ScalarInterpolator Complete
EaseInEaseOut Complete
SplinePositionInterpolator Complete
SplinePositionInterpolator2D Complete
SplineScalarInterpolator Complete
SquadOrientationInterpolator Complete

Pointing Device Sensor Component

Node Status
CylinderSensor Complete
PlaneSensor Complete
SphereSensor Complete
TouchSensor Complete
LineSensor (extra) Complete

Key Device Sensor Component

Node Status
KeySensor Complete
StringSensor Complete

Environmental Sensor Component

Node Status
ProximitySensor Complete
VisibilitySensor Complete
TransformSensor Complete

Navigation Component

Node Status
Billboard Complete
Collision Complete
LOD Complete
NavigationInfo Complete
Viewpoint Complete
OrthoViewpoint Complete
ViewpointGroup Complete

Environmental Effects Component

Node Status
Background Complete
Fog Complete
TextureBackground Complete
LocalFog Complete
FogCoordinate Complete

Geospatial Component

Node Status
GeoCoordinate Complete
GeoElevationGrid Complete
GeoLocation Complete
GeoLOD Complete
GeoMetadata Complete
GeoOrigin Complete
GeoPositionInterpolator Complete
GeoTouchSensor Complete
GeoViewpoint Complete
GeoProximitySensor Complete
GeoTransform Complete

H-Anim Component

Node Status
HAnimDisplacer Complete
HAnimHumanoid Complete
HAnimJoint Complete
HAnimSegment Complete
HAnimSite Complete

NURBS Component

Node Status
Contour2D Complete
ContourPolyline2D Complete
NurbsCurve Complete
NurbsCurve2D Complete
NurbsOrientationInterpolator Complete
NurbsPatchSurface Complete
NurbsPositionInterpolator Complete
NurbsSet Complete
NurbsSurfaceInterpolator Complete
NurbsSweptSurface Complete
NurbsSwungSurface Complete
NurbsTextureCoordinate Complete
NurbsTrimmedSurface Complete

DIS Component

Node Status
EspduTransform Not Implemented
ReceiverPdu Not Implemented
SignalPdu Not Implemented
TransmitterPdu Not Implemented
DISEntityManager Not Implemented
DISEntityTypeMapping Not Implemented

Scripting Component

Node Status
Script Complete

EventUtilities Component

Node Status
BooleanFilter Complete
BooleanSequencer Complete
BooleanToggle Complete
BooleanTrigger Complete
IntegerSequencer Complete
IntegerTrigger Complete
TimeTrigger Complete

ProgrammableShaders Component

Please refer to 2013 notes at the FreeX3D (Android) build page for additional information.

Node Status
ComposedShader Complete
FloatVertexAttributes Complete
Matrix3VertexAttributes Complete
Matrix4VertexAttributes Complete
PackagedShader Not Implemented
ProgramShader Complete
ShaderPart Complete
ShaderProgram Complete

CAD Component

Node Status
CADAssembly Complete
CADFace Complete
CADLayer Complete
CADPart Complete
IndexedQuadSet Complete
Quadset Complete

Texturing3D Component

Node Status
ComposedTexture3D Complete
ImageTexture3D Complete
PixelTexture3D Complete
TextureCoordinate3D Complete
TextureCoordinate4D Complete
TextureTransformMatrix3D Complete
TextureTransform3D Complete

Cube map environmental texturing Component

Node Status
ComposedCubeMapTexture Complete
GeneratedCubeMapTexture Complete
ImageCubeMapTexture Complete

Layering Component

Node Status
Layer Complete
LayerSet Complete
Viewport Complete

Layout Component

Node Status
Layout Complete
LayoutGroup Complete
LayoutLayer Complete
ScreenFontStyle Complete
ScreenGroup Complete

Rigid Body Physics Component

Node Status
BallJoint Complete
CollidableOffset Complete
Collidable Shape Complete
CollisionCollection Complete
CollisionSensor Complete
CollisionSpace Complete
Contact Complete
DoubleAxisHingeJoint Complete
MotorJoint Complete
RigidBody Complete
RigidBodyCollection Complete
SingleAxisHingeJoint Complete
SliderJoint Complete
UniversalJoint Complete

PickingSensor Component

Node Status
LinePickSensor Complete
PickableGroup Complete
PickPointSensor Complete
PrimitivePockSensor Complete
VolumePickSensor Complete

Followers Component

Node Status
ColorDamper Complete
CoordinateDamper Complete
OrientationChaser Complete
PositionChaser Complete
PositionChaser2D Complete
PositionDamper Complete
PositionDamper2D Complete
ScalarChaser Complete
TexCoordDamper2D Complete
OrientationDamper Complete

Particle System Component

Node Status
BoundedPhysicsModel Complete
ConeEmitter Complete
ExplosionEmitter Complete
ForcePhysicsModel Complete
ParticleSystem Complete
PointEmitter Complete
PolylineEmitter Complete
SurfaceEmitter Complete
VolumeEmitter Complete
WindPhysicsModel Complete

Volume Rendering Component

Node Status
OpacityMapVolumeStyle Complete
VolumeData Complete
BoundaryEnhancementVolumeStyle Complete
ComposedVolumeStyle Complete
EdgeEnhancementVolumeStyle Complete
IsoSurfaceVolumeData Complete
ProjectionVolumeStyle Complete
SegmentedVolumeData Complete
SilhouetteEnhancementVolumeStyle Complete
ToneMappedVolumeStyle Complete
BlendedVolumeStyle Complete
CartoonVolumeStyle Complete
ShadedVolumeStyle Complete

Augmented Reality Component (Proposed)

Node Status
CalibratedCameraSensor Not Implemented
TrackingSensor Not Implemented
BackdropBackground Not Implemented
ImageBackdropBackground Not Implemented
Viewpoint Extensions Not Implemented

EAI (External Authoring Interface) Spec

Node Status Complete
Browser.getName() Complete
Browser.getVersion() Complete
Browser.getCurrentSpeed() Complete
Browser.getCurrentFrameRate() Complete
Browser.getWorldURL() Complete
Browser.replaceWorld() Complete
Browser.loadURL() Complete
Browser.setDescription() Complete
Browser.createVrmlFromString() Complete
Browser.createVrmlFromURL() Complete
Browser.getNode() Complete
Browser.addRoute() Complete
Browser.deleteRoute() Complete
Browser.beginUpdate() Complete
Browser.endUpdate() Complete
Browser.initialize() Complete
Browser.shutdown() Complete
Node.getType() Complete
Node.getEventIn() Complete
Node.getEventOut() Complete
EventInMFColor.setValue() Complete
EventInMFColor.set1Value() Complete
EventInMFFloat.setValue() Complete
EventInMFFloat.set1Value() Complete
EventInMFInt32.setValue() Complete
EventInMFInt32.set1Value() Complete
EventInMFNode.setValue() Complete
EventInMFNode.set1Value() Complete
EventInMFRotation.setValue() Complete
EventInMFRotation.set1Value() Complete
EventInMFString.setValue() Complete
EventInMFString.set1Value() Complete
EventInMFVec2f.setValue() Complete
EventInMFVec2f.set1Value() Complete
EventInMFVec3f.setValue() Complete
EventInMFVec3f.set1Value() Complete
EventInSFBool.setValue() Complete
EventInSFColor.setValue() Complete
EventInSFFloat.setValue() Complete
EventInSFImage.setValue() Complete
EventInSFInt32.setValue() Complete
EventInSFNode.setValue() Complete
EventInSFRotation.setValue() Complete
EventInSFString.setValue() Complete
EventInSFTime.setValue() Complete
EventInSFVec2f.setValue() Complete
EventInSFVec3f.setValue() Complete
EventOut.getType() Complete
EventOut.advise() Complete
EventOut.unadvise() Complete
EventOutObserver.callback() Complete
EventOutMField.getSize() Complete
EventOutMFColor.getValue() Complete
EventOutMFColor.get1Value() Complete
EventOutMFFloat.getValue() Complete
EventOutMFFloat.get1Value() Complete
EventOutMFInt32.getValue() Complete
EventOutMFInt32.get1Value() Complete
EventOutMFNode.getValue() Complete
EventOutMFNode.get1Value() Complete
EventOutMFRotation.getValue() Complete
EventOutMFRotation.get1Value() Complete
EventOutMFString.getValue() Complete
EventOutMFString.get1Value() Complete
EventOutMFVec2f.getValue() Complete
EventOutMFVec2f.get1Value() Complete
EventOutMFVec3f.getValue() Complete
EventOutMFVec3f.get1Value() Complete
EventOutSFBool.getValue() Complete
EventOutSFColor.getValue() Complete
EventOutSFFloat.getValue() Complete
EventOutSFSFImage.getWidth() Complete
EventOutSFSFImage.getHeight() Complete
EventOutSFSFImage.getNumComponents() Complete
EventOutSFSFImage.getPixels() Complete
EventOutSFInt32.getValue() Complete
EventOutSFNode.getValue() Complete
EventOutSFRotation.getValue() Complete
EventOutSFString.getValue() Complete
EventOutSFTime.getValue() Complete
EventOutSFVec2f.getValue() Complete
EventOutSFVec3f.getValue() Complete


From circa 1999 to April 2010, the FreeWRL project was managed by John A. Stewart.

There is absolutely no warranty, express or implied for this software. For details on the conditions of use, see the FreeWRL distribution.

FreeWRL is Copyright (C) 1998, 1999...2009 Tuomas J. Lukka, John Stewart and others.

This library is free software; you can redistribute it and/or modify it under the terms of the GNU Library General Public License as published by the Free Software Foundation; either version 2 of the License, or (at your option) any later version.

This library is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Library General Public License for more details.

You should have received a copy of the GNU Library General Public License along with this library; if not, write to the Free Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA Logo