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

Chapter Viewpoint Slideshow
 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.
9 X3D Scenes                 18 Viewpoint Snapshots

Figure 19 21 Normal Square.x3d
[1] Figure19_21NormalSquare.x3d - Normal square, solid=false means visible on both sides
[2] Figure19_21NormalSquare.x3d - (default X3D view from 0 0 10)

Figure 19 22 Normal Square Shaded.x3d
[3] Figure19_22NormalSquareShaded.x3d - Square with artificial normals, thus shaded. Careful, solid=true means visible only on one side!
[4] Figure19_22NormalSquareShaded.x3d - (default X3D view from 0 0 10)

Figure 19 23 Half Column.x3d
[5] Figure19_23HalfColumn.x3d - Half column. Careful, only one side!
[6] Figure19_23HalfColumn.x3d - (default X3D view from 0 0 10)

Figure 19 24a Half Column Crease Angle.x3d
[7] Figure19_24aHalfColumnCreaseAngle.x3d - Half column. Careful, only one side!
[8] Figure19_24aHalfColumnCreaseAngle.x3d - (default X3D view from 0 0 10)

Figure 19 24b Two Half Columns Crease Angle Seam.x3d
[9] Figure19_24bTwoHalfColumnsCreaseAngleSeam.x3d - Two half columns - note visible seams where each side meets
[10] Figure19_24bTwoHalfColumnsCreaseAngleSeam.x3d - (default X3D view)

Figure 19 25a Half Column Normals.x3d
[11] Figure19_25aHalfColumnNormals.x3d - Half column. Careful, only one side! Normals are applied to vertical edges, but seam improvement not visible until halves put together
[12] Figure19_25aHalfColumnNormals.x3d - (default X3D view from 0 0 10)

Figure 19 25b Two Half Columns Normals Seamless.x3d
[13] Figure19_25bTwoHalfColumnsNormalsSeamless.x3d - Two half columns - no more visible seams where each side meets
[14] Figure19_25bTwoHalfColumnsNormalsSeamless.x3d - (default X3D view)

Figure 19 26 Normal Shaded Elevation Grid.x3d
[16] Figure19_26NormalShadedElevationGrid.x3d - (default X3D view)

Figure 19 27 Square Face Animating Normals.x3d
[17] Figure19_27SquareFaceAnimatingNormals.x3d - Animating normals on right vertices of a quadrilateral
[18] Figure19_27SquareFaceAnimatingNormals.x3d - Other side - note difference in animated shading
[19] Figure19_27SquareFaceAnimatingNormals.x3d - (default X3D view)

This viewpoint slideshow is online at