This example shows that the ordering of the polygon vertices is important. #VRML V2.0 utf8 Group { children [ Shape { appearance Appearance { material Material { ambientIntensity 0.1 diffuseColor 1 1 1 } } geometry IndexedFaceSet { coord Coordinate { point [ 0 5 0, -2.5 0 -2.5, 2.5 0 -2.5, 2.5 0 2.5, -2.5 0 2.5 ] } ccw FALSE creaseAngle 0.5 coordIndex [ 0, 4, 3, -1, # Counter-Clockwise 0, 3, 2, -1, # Clockwise 0, 2, 1, -1, # Counter-Clockwise 0, 1, 4, -1, # Clockwise 1, 3, 4, -1, # Counter-Clockwise 1, 2, 3, -1 # Counter-Clockwise ] } } ] } The creaseAngle field tells the browser to do a smooth transition from one polygon to another. This will have more pronounced effect on a curved surface. The visual effect of this mistake depends on the browser.