VertexFormat(顶点格式)是描述顶点属性的对象,它规定了顶点数据的排列方式、每个属性的类型及其对应的偏移量。
position
:位置属性。类型为 PositionDatatype.FLOAT
,可以是 Float32Array
或 Float64Array
。默认值为 null
。normal
:法向量属性。类型为 NormalType.FLOAT
,可以是 Float32Array
。默认值为 null
。st
:纹理坐标属性。类型为 TextureCoordDataType.FLOAT
,可以是 Float32Array
或 Float64Array
。默认值为 null
。binormal
:副法向量属性。类型为 VertexAttributeType.FLOAT
,可以是 Float32Array
。默认值为 null
。tangent
:切线属性。类型为 VertexAttributeType.FLOAT
,可以是 Float32Array
。默认值为 null
。color
:颜色属性。类型为 ColorDataType.UNSIGNED_BYTE
,可以是 Uint8Array
。默认值为 null
。pickColor
:用于拾取的颜色属性。类型为 ColorDataType.UNSIGNED_BYTE
,可以是 Uint8Array
。默认值为 null
。getAttributeLocations(shaderProgramId: string)
: 获取所有属性在着色器程序中的位置(注:Cesium内部使用)。var vertexFormat = new Cesium.VertexFormat({
position : true,
normal : true,
st : true,
color : true
});
var vertexArray = new Float32Array([
// position, normal, st, color
0.0, 0.0, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0, 1.0, 0.0, 0.0, 1.0,
1.0, 0.0, 0.0, 0.0, 0.0, 1.0, 1.0, 0.0, 0.0, 1.0, 0.0, 1.0,
0.0, 1.0, 0.0, 0.0, 0.0, 1.0, 0.0, 1.0, 0.0, 0.0, 1.0, 1.0,
]);