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

[1] Figure19_21NormalSquare.x3d Normal square, solid=false means visible on both sides
Directory 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.

Figure 19.22 Normal Square Shaded

Figure 19.26 Normal Shaded Elevation Grid

9 X3D Models                 19 X3D Model Viewpoint Snapshots

Figure19_21NormalSquare
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)

Figure19_22NormalSquareShaded
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)

Figure19_23HalfColumn
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)

Figure19_24aHalfColumnCreaseAngle
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)

Figure19_24bTwoHalfColumnsCreaseAngleSeam
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)

Figure19_25aHalfColumnNormals
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)

Figure19_25bTwoHalfColumnsNormalsSeamless
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)

Figure19_26NormalShadedElevationGrid
Figure 19 26 Normal Shaded Elevation Grid.x3d    
[15] Figure19_26NormalShadedElevationGrid.x3d Shaded (but flat) ElevationGrid
[16] Figure19_26NormalShadedElevationGrid.x3d (default X3D view)

Figure19_27SquareFaceAnimatingNormals
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
https://www.web3d.org/x3d/content/examples/Vrml2Sourcebook/Chapter19NormalsShading/viewpointSlideshow.html

Validate XHTML 1.1

Viewpoint image version history at
https://sourceforge.net/p/x3d/code/HEAD/tree/www.web3d.org/x3d/content/examples/Vrml2Sourcebook/Chapter19NormalsShading/_viewpoints