具有形成顶点的属性和定义图元的可选索引数据的几何表示。描述阴影的几何和
Appearance
可以分配给
Primitive
以进行可视化。可以从许多异构的几何体(在许多情况下)创建一个
Primitive
以提高性能。
可以使用 GeometryPipeline 中的函数转换和优化
GeometryPipeline
。
Name | Type | Description | ||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
options
|
Object |
具有以下属性的对象:
|
Example:
// Create geometry with a position attribute and indexed lines.
const positions = new Float64Array([
0.0, 0.0, 0.0,
7500000.0, 0.0, 0.0,
0.0, 7500000.0, 0.0
]);
const geometry = new Cesium.Geometry({
attributes : {
position : new Cesium.GeometryAttribute({
componentDatatype : Cesium.ComponentDatatype.DOUBLE,
componentsPerAttribute : 3,
values : positions
})
},
indices : new Uint16Array([0, 1, 1, 2, 2, 0]),
primitiveType : Cesium.PrimitiveType.LINES,
boundingSphere : Cesium.BoundingSphere.fromVertices(positions)
});
Demo:
See:
Members
attributes : GeometryAttributes
属性,构成几何的顶点。此对象中的每个属性都对应于包含属性数据的
GeometryAttribute
。
属性始终以非交错方式存储在 Geometry 中。
有一些具有众所周知的语义的保留属性名称。以下属性由 Geometry 创建(取决于提供的
VertexFormat
。
-
position
- 3D 顶点位置。 64 位浮点(用于精度)。每个属性 3 个组件。请参阅VertexFormat#position
。 -
normal
- Normal(归一化),常用于光照。 32 位浮点数。每个属性 3 个组件。请参阅VertexFormat#normal
。 -
st
- 2D 纹理坐标。 32 位浮点数。每个属性 2 个组件。请参阅VertexFormat#st
。 -
bitangent
- Bitangent(标准化),用于切线空间效果,如凹凸贴图。 32 位浮点数。每个属性 3 个组件。请参阅VertexFormat#bitangent
。 -
tangent
- 切线(标准化),用于切线空间效果,如凹凸贴图。 32 位浮点数。每个属性 3 个组件。请参阅VertexFormat#tangent
。
以下属性名称通常不是由 Geometry 创建的,而是通过
Primitive
或
GeometryPipeline
函数添加到 Geometry 以准备几何图形以进行渲染。
-
position3DHigh
- 使用GeometryPipeline.encodeAttribute
计算的编码 64 位位置的高 32 位。 32 位浮点数。每个属性 4 个组件。 -
position3DLow
- 使用GeometryPipeline.encodeAttribute
计算的编码 64 位位置的低 32 位。 32 位浮点数。每个属性 4 个组件。 -
position3DHigh
- 使用GeometryPipeline.encodeAttribute
计算的编码 64 位 2D(哥伦布视图)位置的高 32 位。 32 位浮点数。每个属性 4 个组件。 -
position2DLow
- 使用GeometryPipeline.encodeAttribute
计算的编码 64 位 2D(哥伦布视图)位置的低 32 位。 32 位浮点数。每个属性 4 个组件。 -
color
- 通常来自GeometryInstance#color
的 RGBA 颜色(标准化)。 32 位浮点数。每个属性 4 个组件。 -
pickColor
- 用于拾取的 RGBA 颜色。 32 位浮点数。每个属性 4 个组件。
-
Default Value:
undefined
Example:
geometry.attributes.position = new Cesium.GeometryAttribute({
componentDatatype : Cesium.ComponentDatatype.FLOAT,
componentsPerAttribute : 3,
values : new Float32Array(0)
});
See:
boundingSphere : BoundingSphere
完全包围几何体的可选边界球体。这通常用于剔除。
-
Default Value:
undefined
可选的索引数据 - 与
Geometry#primitiveType
一起 - 确定几何中的图元。
-
Default Value:
undefined
primitiveType : PrimitiveType
几何中的基元类型。这通常是
PrimitiveType.TRIANGLES
,但可以根据特定的几何形状而变化。
-
Default Value:
undefined
Methods
计算几何中的顶点数。运行时间与顶点中的属性数量成线性关系,而不是顶点数量。
Name | Type | Description |
---|---|---|
geometry
|
Geometry | 几何。 |
Returns:
几何中的顶点数。
Example:
const numVertices = Cesium.Geometry.computeNumberOfVertices(geometry);