attributes

Attributes, which make up the geometry's vertices. Each property in this object corresponds to a GeometryAttribute containing the attribute's data.

Attributes are always stored non-interleaved in a Geometry.

There are reserved attribute names with well-known semantics. The following attributes are created by a Geometry (depending on the provided VertexFormat.

  • position - 3D vertex position. 64-bit floating-point (for precision). 3 components per attribute. See VertexFormat.position.

  • normal - Normal (normalized), commonly used for lighting. 32-bit floating-point. 3 components per attribute. See VertexFormat.normal.

  • st - 2D texture coordinate. 32-bit floating-point. 2 components per attribute. See VertexFormat.st.

  • bitangent - Bitangent (normalized), used for tangent-space effects like bump mapping. 32-bit floating-point. 3 components per attribute. See VertexFormat.bitangent.

  • tangent - Tangent (normalized), used for tangent-space effects like bump mapping. 32-bit floating-point. 3 components per attribute. See VertexFormat.tangent.

The following attribute names are generally not created by a Geometry, but are added to a Geometry by a Primitive or GeometryPipeline functions to prepare the geometry for rendering.

  • position3DHigh - High 32 bits for encoded 64-bit position computed with GeometryPipeline.encodeAttribute. 32-bit floating-point. 4 components per attribute.

  • position3DLow - Low 32 bits for encoded 64-bit position computed with GeometryPipeline.encodeAttribute. 32-bit floating-point. 4 components per attribute.

  • position2DHigh - High 32 bits for encoded 64-bit 2D (Columbus view) position computed with GeometryPipeline.encodeAttribute. 32-bit floating-point. 4 components per attribute.

  • position2DLow - Low 32 bits for encoded 64-bit 2D (Columbus view) position computed with GeometryPipeline.encodeAttribute. 32-bit floating-point. 4 components per attribute.

  • color - RGBA color (normalized) usually from GeometryInstance.color. 32-bit floating-point. 4 components per attribute.

  • pickColor - RGBA color used for picking. 32-bit floating-point. 4 components per attribute.

geometry.attributes.position = new GeometryAttribute({
componentDatatype : ComponentDatatype.FLOAT,
componentsPerAttribute : 3,
values : new Float32Array(0)
});

See also