LineSet is a geometry node that can contain a Coordinate or CoordinateDouble node and optionally a Color or ColorRGBA node.

The LineSet node belongs to the Rendering component and requires at least level 1, its default container field is geometry. It is available from X3D version 3.0 or higher.


+ X3DNode
  + X3DGeometryNode
    + LineSet


SFNode [in, out] metadata NULL [X3DMetadataObject]

Information about this node can be contained in a MetadataBoolean, MetadataDouble, MetadataFloat, MetadataInteger, MetadataString or MetadataSet node.


MFInt32 [in, out] vertexCount [ ] [2,∞)

Vertices at a time.

MFNode [in, out] attrib [ ] [X3DVertexAttributeNode]

Single contained FloatVertexAttribute node that can specify list of per-vertex attribute information for programmable shaders.


SFNode [in, out] fogCoord NULL [FogCoordinate]

Single contained FogCoordinate node that can specify depth parameters for fog in corresponding geometry.

SFNode [in, out] color NULL [X3DColorNode]

Single contained Color or ColorRGBA node that can specify color values applied to corresponding vertices according to colorIndex and colorPerVertex fields.

SFNode [in, out] normal NULL [X3DNormalNode]

Single contained Normal node that can specify perpendicular vectors for corresponding vertices to support rendering computations, applied according to the normalPerVertex field.


  • Useful for special effects. Normal vector computation by 3D graphics hardware is quite fast so adding normals to a scene is typically unnecessary.


  • normal vectors increase file size, typically doubling geometry definitions.

SFNode [in, out] tangent NULL [Tangent] non standard

Input/Output field tangent.

SFNode [in, out] coord NULL [X3DCoordinateNode]

Single contained Coordinate or CoordinateDouble node that can specify a list of vertex values.



  • Polygonal chain
  • Either values in a contained Color node, or else Material emissiveColor in corresponding Appearance node, are used for rendering lines and points.
  • Adding LineProperties to the corresponding Appearance node can modify the rendering style of these lines.
  • Step-wise variation or linear interpolation of color values can be used as a good scientific visualization technique to map arbitrary function values to a color map.
  • Insert a Shape node before adding geometry or Appearance.
  • For advanced extensibility, authors can substitute a type-matched ProtoInstance node (with correct containerField value) for contained node content.
  • Consider including Fog (with Fog color matching Background color) to provide further depth cueing for LineSet (LS).


  • Lines are not lit, are not texture-mapped, and do not participate in collision detection.
  • Use a different color (or Material emissiveColor) than the Background color, otherwise geometry is invisible.


See Also

This post is licensed under CC BY 4.0 by the author.