几何体表示法,包含顶点属性和定义基元的可选索引数据。
几何体和描述阴影的
Appearance
可分配给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 SuperMap3D.Geometry({
attributes : {
position : new SuperMap3D.GeometryAttribute({
componentDatatype : SuperMap3D.ComponentDatatype.DOUBLE,
componentsPerAttribute : 3,
values : positions
})
},
indices : new Uint16Array([0, 1, 1, 2, 2, 0]),
primitiveType : SuperMap3D.PrimitiveType.LINES,
boundingSphere : SuperMap3D.BoundingSphere.fromVertices(positions)
});
See:
Members
-
attributes : GeometryAttributes
-
属性,这些属性构成了几何体的顶点。 此对象中的每个属性都与包含属性数据的
GeometryAttribute
相对应。 属性总是以非交错的方式存储在几何体中。保留的属性名具有众所周知的语义。 以下属性是由Geometry创建的(取决于提供的VertexFormat
)。position
- 三维顶点位置。64位浮点(用于精度)。每个属性3个组成部分。请参阅VertexFormat#position
.normal
-(标准化),常用于光照。 32 位浮点数。每个属性3个组成部分。请参阅VertexFormat#normal
.st
- 2D纹理坐标。32位浮点数。每个属性2个组成部分。请参阅VertexFormat#st
.bitangent
-(标准化),用于切线空间效果,如凹凸贴图。32位浮点数。每个属性3个组成部分。请参阅VertexFormat#bitangent
.tangent
- 切线(标准化),用于切线空间效果,如凹凸贴图。32位浮点数每个属性3个组成部分。请参阅VertexFormat#tangent
.
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 SuperMap3D.GeometryAttribute({ componentDatatype : SuperMap3D.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 = SuperMap3D.Geometry.computeNumberOfVertices(geometry);