Scene 中要高亮显示的几何体的体积。
原语将几何体实例与描述完整着色的 Appearance 结合在一起,包括
Material 和 RenderState。大致上,几何体实例定义了结构和位置,
而外观定义了视觉特征。将几何体和外观解耦允许我们混合
和匹配大多数原语,并独立添加新的几何体或外观。
目前,直接使用 ClassificationPrimitive 时,仅支持具有相同颜色的
PerInstanceColorAppearance。
要在分类地形或 3D Tiles 时获得完整的 Appearance 支持,请使用 GroundPrimitive。
为了正确渲染,此功能需要 EXT_frag_depth WebGL 扩展。对于不支持此扩展的硬件, 在某些观察角度下会出现渲染伪影。
有效的几何体包含 BoxGeometry、CylinderGeometry、EllipsoidGeometry、PolylineVolumeGeometry 和 SphereGeometry。
跟随椭球体表面的几何体,如 CircleGeometry、CorridorGeometry、EllipseGeometry、PolygonGeometry 和 RectangleGeometry,
也有效,如果它们是挤出的体积;否则,它们将不被渲染。
| Name | Type | Description | ||||||||||||||||||||||||||||||||||||||||||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
options |
object |
optional
包含以下属性的对象:
|
Members
-
Default Value:
true
-
Default Value:
true
classificationType : ClassificationType
-
Default Value:
ClassificationType.BOTH
true 时,几何体顶点被压缩,这将节省内存。
-
Default Value:
true
绘制原语中每个绘制命令的包围球。
-
Default Value:
false
绘制原语中每个几何体的阴影体。
-
Default Value:
false
readonly geometryInstances : Array|GeometryInstance
options.releaseGeometryInstances 为 true
则可能为 undefined。
在原语渲染后更改此属性将无效。
由于使用的渲染技术,所有几何体实例必须具有相同的颜色。
如果存在颜色不同的实例,将在第一次尝试渲染时抛出
DeveloperError。
-
Default Value:
undefined
-
Default Value:
false
ClassificationPrimitive#update 时渲染原语。
true 时,该原语不会保留对输入 geometryInstances 的引用以节省内存。
-
Default Value:
true
-
Default Value:
true
true 时,几何体顶点针对顶点着色器前后缓存进行了优化。
-
Default Value:
true
Methods
| Name | Type | Description |
|---|---|---|
scene |
Scene | 场景。 |
Returns:
true;否则返回 false
一旦对象被销毁,就不应使用;调用除 isDestroyed 以外的任何函数将导致 DeveloperError 异常。因此,
将返回值(undefined)分配给对象,如示例中所示。
Throws:
-
DeveloperError : 此对象已被销毁,即调用了 destroy()。
Example:
e = e && e.destroy();
See:
GeometryInstance 的可修改每实例属性。
| Name | Type | Description |
|---|---|---|
id |
* |
GeometryInstance 的 ID。 |
Returns:
Throws:
-
DeveloperError : 必须在调用 getGeometryInstanceAttributes 之前调用 update。
Example:
const attributes = primitive.getGeometryInstanceAttributes('an id');
attributes.color = Cesium.ColorGeometryInstanceAttribute.toValue(Cesium.Color.AQUA);
attributes.show = Cesium.ShowGeometryInstanceAttribute.toValue(true);
如果此对象已被销毁,则不应使用;调用除 isDestroyed 以外的任何函数将导致 DeveloperError 异常。
Returns:
true;否则返回 false。
Throws:
-
DeveloperError : 所有实例几何体必须具有相同的 primitiveType。
-
DeveloperError : 外观和材质具有相同名称的 uniform。
-
DeveloperError : 并非所有几何体实例都有相同的颜色属性。
