具有形成顶点和可选索引数据的属性的几何图形表示定义原语。几何图形和
外观
(用于描述阴影),可以分配给
Primitive
进行可视化。
Primitive
可以由许多不同的几何形状(在许多情况下)创建,以提高性能。
可以使用
GeometryPipeline
中的函数来转换和优化几何。
Name | Type | Description | ||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
options
|
Object |
具有以下属性的对象:
|
Example:
// Create geometry with a position attribute and indexed lines.
var positions = new Float64Array([
0.0, 0.0, 0.0,
7500000.0, 0.0, 0.0,
0.0, 7500000.0, 0.0
]);
var geometry = new LSGlobe.Geometry({
attributes : {
position : new LSGlobe.GeometryAttribute({
componentDatatype : LSGlobe.ComponentDatatype.DOUBLE,
componentsPerAttribute : 3,
values : positions
})
},
indices : new Uint16Array([0, 1, 1, 2, 2, 0]),
primitiveType : LSGlobe.PrimitiveType.LINES,
boundingSphere : LSGlobe.BoundingSphere.fromVertices(positions)
});
Demo:
See:
Members
attributes : GeometryAttributes
组成几何顶点的属性。此对象中的每个属性都对应一个
GeometryAttribute
包含属性的数据。
属性始终以非交织方式存储在Geometry中。
保留具有众所周知语义的属性名称。以下属性由Geometry创建(取决于提供的
VertexFormat
。
-
position
-3D顶点位置。 64位浮点(用于精度)。每个属性3个组件。请参见VertexFormat#position
。 -
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
准备功能用于渲染的几何。
-
position3DHigh
-使用GeometryPipeline.encodeAttribute
计算得到的64位位置的高32位。 32位浮点。每个属性4个组成部分。 -
position3DLow
-使用GeometryPipeline.encodeAttribute
计算得出的64位低32位。 32位浮点。每个属性4个组成部分。 -
position3DHigh
-使用GeometryPipeline.encodeAttribute
。 32位浮点。每个属性4个组成部分。 -
position2DLow
-使用GeometryPipeline.encodeAttribute
。 32位浮点。每个属性4个组成部分。 -
color
-通常来自GeometryInstance#color
的RGBA颜色(规范化)。 32位浮点。每个属性4个组成部分。 -
pickColor
-用于拾取的RGBA颜色。 32位浮点。每个属性4个组成部分。
-
Default Value:
undefined
Example:
geometry.attributes.position = new LSGlobe.GeometryAttribute({
componentDatatype : LSGlobe.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:
var numVertices = LSGlobe.Geometry.computeNumberOfVertices(geometry);