# Fields

### SFNode [in, out] **metadata** NULL [X3DMetadataObject]

Metadata are not part of the X3D world and not interpreted by the X3D browser, but they can be accessed via the ECMAScript interface.

### MFInt32 [in] **set_colorIndex** [0,∞) or -1

ColorIndex indices provide order in which colors are applied.

#### Hints

If colorPerVertex='false' then one index is provided for each polygon defined by the coordIndex array. No sentinel -1 values are included. If colorPerVertex='true' then a matching set of indices is provided, each separated by sentinel -1, that exactly corresponds to individual values in the coordIndex array polygon definitions.

### MFInt32 [in] **set_texCoordIndex** [-1,∞)

List of texture-coordinate indices mapping attached texture to corresponding coordinates.

#### Hint

Use a tool!

### MFInt32 [in] **set_normalIndex** [0,∞) or -1

NormalIndex indices define the order in which normal vectors are applied.

#### Hints

If normalPerVertex='false' then one index is provided for each polygon defined by the coordIndex array. No sentinel -1 values are included. If normalPerVertex='true' then a matching set of indices is provided, each separated by sentinel -1, that exactly corresponds to individual values in the coordIndex array polygon definitions. Interchange profile hint: this field may be ignored, applying the default value regardless.

### MFInt32 [in] **set_coordIndex** [0,∞) or -1

CoordIndex indices provide the order in which coordinates are applied to construct each polygon face. Order starts at index 0, commas are optional between sets.

#### Hint

Sentinel value -1 is used to separate indices for each successive polygon.

### SFBool [ ] **solid** TRUE

Setting solid true means draw only one side of polygons (backface culling on), setting solid false means draw both sides of polygons (backface culling off).

#### Hint

If in doubt, use solid='false' for maximum visibility.

#### Warning

Default value true can completely hide geometry if viewed from wrong side!

### SFBool [ ] **ccw** TRUE

Ccw = counterclockwise: ordering of vertex coordinates orientation.

#### Hint

Ccw false can reverse solid (backface culling) and normal-vector orientation.

### SFBool [ ] **convex** TRUE

Whether all polygons in a shape are convex (true), or possibly concave (false) A convex polygon is planar, does not intersect itself, and has all interior angles < 180 degrees. Interchange profile hint: only convex=true IndexedFaceSets are supported.

#### Warning

Concave geometry may be invisible default convex=true.

### SFFloat [ ] **creaseAngle** [0,∞)

CreaseAngle defines angle (in radians) for determining whether adjacent polygons are drawn with sharp edges or smooth shading. If angle between normals of two adjacent polygons is less than creaseAngle, smooth shading is rendered across the shared line segment. Interchange profile hint: only 0 and π radians supported.

#### Hint

CreaseAngle=0 means render all edges sharply, creaseAngle=3.14159 means render all edges smoothly.

### SFBool [ ] **colorPerVertex** TRUE

Whether Color node color values are applied to each vertex (true) or to each polygon face (false).

#### See Also

### SFBool [ ] **normalPerVertex** TRUE

Whether Normal node vector values are applied to each vertex (true) or to each polygon face (false).

### MFInt32 [ ] **colorIndex** [ ] [0,∞) or -1

ColorIndex indices provide order in which colors are applied.

#### Hints

If colorPerVertex='false' then one index is provided for each polygon defined by the coordIndex array. No sentinel -1 values are included. If colorPerVertex='true' then a matching set of indices is provided, each separated by sentinel -1, that exactly corresponds to individual values in the coordIndex array polygon definitions.

### MFInt32 [ ] **texCoordIndex** [ ] [-1,∞)

List of texture-coordinate indices mapping attached texture to corresponding coordinates.

#### Hint

Use a tool!

### MFInt32 [ ] **normalIndex** [ ] [0,∞) or -1

NormalIndex indices define the order in which normal vectors are applied.

#### Hints

If normalPerVertex='false' then one index is provided for each polygon defined by the coordIndex array. No sentinel -1 values are included. If normalPerVertex='true' then a matching set of indices is provided, each separated by sentinel -1, that exactly corresponds to individual values in the coordIndex array polygon definitions. Interchange profile hint: this field may be ignored, applying the default value regardless.

### MFInt32 [ ] **coordIndex** [ ] [0,∞) or -1

CoordIndex indices provide the order in which coordinates are applied to construct each polygon face. Order starts at index 0, commas are optional between sets.

#### Hint

Sentinel value -1 is used to separate indices for each successive polygon.

### MFNode [in, out] **attrib** [ ] [X3DVertexAttributeNode]

Input/Output field attrib.

### SFNode [in, out] **fogCoord** NULL [FogCoordinate]

Input/Output field fogCoord.

### SFNode [in, out] **color** NULL [X3DColorNode]

Input/Output field color.

### SFNode [in, out] **texCoord** NULL [X3DTextureCoordinateNode]

Input/Output field texCoord.

### SFNode [in, out] **normal** NULL [X3DNormalNode]

Input/Output field normal.

### SFNode [in, out] **coord** NULL [X3DCoordinateNode]

Input/Output field coord.