X3D Example Archives: VRML 2 Sourcebook, Chapter 19 Normals Shading

Normal (perpendicular) vectors defined for individual points or polygons can change the shading of geometry.

When shaded, the faces on a shape are obvious. Creating a smooth shape may require a large number of small faces. An alternative is to instead use smooth shading to create the illusion of a smooth shape, but with a smaller number of faces.

The Normal node lists normal vectors to use for parts of a shape which can change shading. These are used as the value of the normal field, and normal index values select which normals to use (similar to color index values). Ordinarily the creaseAngle field controls faceted or smooth shading. Normals override the normal effect of the creaseAngle value. The normalPerVertex field selects normal per face/grid square or normal per coordinate. The NormalInterpolator node converts time values to normal values for animation effects.

These X3D scenes are adapted directly from the original VRML 2.0 Sourcebook chapter examples. Also available: Introduction to VRML97 SIGGRAPH98 course notes.

Figure 19.22 Normal Square Shaded

Figure 19.26 Normal Shaded Elevation Grid

  9 X3D Models       X3D Model Descriptions
   Figure19_21NormalSquare Figure19_21NormalSquare A square face and four normals. Also see Figures 19.21 and 19.22 for comparison.
   Figure19_22NormalSquareShaded Figure19_22NormalSquareShaded A square face with two normals pointing along the positive Z axis and two normals pointing along the positive X axis. Also see Figures 19.21 and 19.22 for comparison.
   Figure19_23HalfColumn Figure19_23HalfColumn A smooth-shaded half column using a crease angle. Compare Figures 19.23, 19.24a, 19.24b, 19.25a and 19.25b.
   Figure19_24aHalfColumnCreaseAngle Figure19_24aHalfColumnCreaseAngle A smooth-shaded half column using a crease angle. Compare Figures 19.23, 19.24a, 19.24b, 19.25a and 19.25b.
   Figure19_24bTwoHalfColumnsCreaseAngleSeam Figure19_24bTwoHalfColumnsCreaseAngleSeam A smooth-shaded half column using a crease angle - note seams where each smoothly shaded half-column meets. Compare Figures 19.23, 19.24a, 19.24b, 19.25a and 19.25b.
   Figure19_25aHalfColumnNormals Figure19_25aHalfColumnNormals A smooth-shaded half column using a crease angle. Compare Figures 19.23, 19.24a, 19.24b, 19.25a and 19.25b.
   Figure19_25bTwoHalfColumnsNormalsSeamless Figure19_25bTwoHalfColumnsNormalsSeamless A smooth-shaded half column using a crease angle. Compare Figures 19.23, 19.24a, 19.24b, 19.25a and 19.25b.
   Figure19_26NormalShadedElevationGrid Figure19_26NormalShadedElevationGrid An elevation grid using a special shading effect.
   Figure19_27SquareFaceAnimatingNormals Figure19_27SquareFaceAnimatingNormals An elevation grid using a special shading effect.

The X3D Resources: Examples page and X3D Developers Guide provide more information about the production of this archive.