As we stated earlier, and as is stated in the VRML Version 1.0 specification, VRML defines several different classes of nodes. There are thirty-six nodes in their various groupings. We're going to discuss these nodes in very general terms at this point. Each node will be discussed fully later on these Web pages.
The node groupings include three general categories into which most of the nodes can be classified. These three classifications are shape, property, and group nodes. There are also two unclassified nodes.
The first major node grouping, shape nodes, create the objects that you will look at in the 3-D worlds. This is how things get drawn. There are eight nodes in this group. They are AscciiText, Cone, Cube, Cylinder, IndexedFaceSet, IndexedLineSet, PointSet, and Sphere. Basically, these nodes define what the object to be drawn is.
The second major grouping of nodes is the property nodes. Property nodes affect the way the objects in the 3-D world are drawn. There are four subgroups in this grouping. These group these nodes into geometry and appearance, matrix or transformation, cameras, and lights. Basically, these nodes define how the object looks.
Within the geometry and appearance subgroup there are eleven nodes. These nodes are Coordinate3, FontStyle, Info, Material, MaterialBinding, Normal, NormalBinding, Texture2, Texture2Transform, TextureCoordinate2, and ShapeHints.
Within the matrix or transformation subgroup there are five nodes. These nodes are MatrixTransform, Rotation, Scale, Transform, and Translation.
There are two nodes in the Camera subgroup. These nodes are OrthographicCamera and PerspectiveCamera.
Finally, in the Lights subgroup there are three nodes. These nodes are DirectionalLight, PointLight, and SpotLight.
The third major grouping is the group nodes. Grouping nodes are used to group, or collect, other nodes together. This allows for these groups, or collections, of nodes to be handled as single objects. These grouping nodes are also used to control when child nodes within them are drawn. We'll discuss the number and names of the grouping nodes elsewhere. Right now, however, might be an excellent time to discuss the concept of child nodes.
Only group nodes have child nodes. This means basically that there is a node within the node. The parent node extends over the children in the order that the children are listed during rendering. The parent can have no children or many.
There are six nodes in the grouping classification. These nodes are Group, LOD, Separator, Switch, TransformSeparator, and WWWAnchor.
The one unclassified node is WWWInline.