|
X3D is based upon XML, meaning that an XML parser is used internally. This parser allows us not to have defined all the X3D nodes. That is why we have only implemented a sub-set
of the standard X3D nodes. This list has to be extended. If a node has a GL implementation, it
means that it is implemented in the GL scene graph, otherwise it means that it is just
implemented in the X3D scene graph providing the container node but no dynamic behaviour.
node
|
Component
|
GL
|
remark
|
X3DNode
|
Core
|
yes
|
|
X3DObject
|
Core
|
yes
|
|
X3DSensorNode
|
Core
|
no
|
|
Box
|
Geometry3D
|
yes
|
|
Cone
|
Geometry3D
|
yes
|
|
Cylinder
|
Geometry3D
|
yes
|
|
IndexedFaceSet
|
Geometry3D
|
yes
|
|
Sphere
|
Geometry3D
|
yes
|
|
Group
|
Grouping
|
yes
|
|
StaticGroup
|
Grouping
|
yes
|
|
Switch
|
Grouping
|
yes
|
|
Transform
|
Grouping
|
yes
|
|
X3DBoundedObject
|
Grouping
|
yes
|
|
X3DChildNode
|
Grouping
|
yes
|
|
X3DGroupingNode
|
Grouping
|
yes
|
|
ColorInterpolator
|
Interpolation
|
no
|
|
CoordinateInterpolator2D
|
Interpolation
|
no
|
|
CoordinateInterpolator
|
Interpolation
|
no
|
|
NormalInterpolator
|
Interpolation
|
no
|
|
OrientationInterpolator
|
Interpolation
|
no
|
|
PositionInterpolator2D
|
Interpolation
|
no
|
|
PositionInterpolator
|
Interpolation
|
no
|
|
ScalarInterpolator
|
Interpolation
|
no
|
|
X3DInterpolatorNode
|
Interpolation
|
no
|
|
DirectionalLight
|
Lighting
|
no
|
|
PointLight
|
Lighting
|
no
|
|
SpotLight
|
Lighting
|
no
|
|
X3DLightNode
|
Lighting
|
no
|
|
Contour2D
|
NURBS
|
no
|
|
ContourPolyline2D
|
NURBS
|
no
|
|
NurbsCurve2D
|
NURBS
|
no
|
|
NurbsCurve
|
NURBS
|
no
|
|
NurbsGroup
|
NURBS
|
no
|
|
NurbsPositionInterpolator
|
NURBS
|
no
|
|
NurbsSurface
|
NURBS
|
no
|
|
NurbsTextureSurface
|
NURBS
|
no
|
|
TrimmedSurface
|
NURBS
|
no
|
|
X3DParametricGeometryNode
|
NURBS
|
no
|
|
Color
|
Rendering
|
yes
|
|
ColorRGBA
|
Rendering
|
yes
|
|
Coordinate
|
Rendering
|
yes
|
|
IndexedLineSet
|
Rendering
|
yes
|
|
Normal
|
Rendering
|
yes
|
|
PointSet
|
Rendering
|
yes
|
|
TriangleFanSet
|
Rendering
|
yes
|
|
TriangleSet
|
Rendering
|
yes
|
|
TriangleStripSet
|
Rendering
|
yes
|
|
X3DColorNode
|
Rendering
|
yes
|
|
X3DComposedGeometryNode
|
Rendering
|
yes
|
|
X3DCoordinateNode
|
Rendering
|
yes
|
|
X3DGeometry3DNode
|
Rendering
|
yes
|
|
X3DGeometryNode
|
Rendering
|
yes
|
|
X3DNormalNode
|
Rendering
|
yes
|
|
Appearance
|
Shape
|
yes
|
|
FillProperties
|
Shape
|
no
|
|
LineProperties
|
Shape
|
no
|
|
Material
|
Shape
|
yes
|
|
Shape
|
Shape
|
yes
|
|
X3DAppearanceChildNode
|
Shape
|
yes
|
|
X3DAppearanceNode
|
Shape
|
yes
|
|
X3DMaterialNode
|
Shape
|
yes
|
|
X3DShapeNode
|
Shape
|
yes
|
|
ImageTexture
|
Texturing
|
yes
|
|
TextureCoordinate
|
Texturing
|
yes
|
|
TextureTransform
|
Texturing
|
no
|
|
X3DTexture2DNode
|
Texturing
|
yes
|
|
X3DTextureCoordinateNode
|
Texturing
|
yes
|
|
X3DTextureNode
|
Texturing
|
yes
|
|
X3DTextureTransform2DNode
|
Texturing
|
no
|
|
X3DTextureTransformNode
|
Texturing
|
no
|
|
X3DUrlObject
|
Networking
|
no
|
|
Inline
|
Networking
|
no
|
|
Collision
|
Navigation
|
no
|
no inheritance from X3DSensorNode
|
For the moment the node Collision is just implemented for loading static models, it doesn't inherit
X3DSensorNode, because the kernel of the library cannot really provide multiple inheritance.
This will be soon upgraded.
|