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
undefined(如果在构建图元时
options.releaseGeometryInstances 为 true)。
在图元渲染后更改此属性无效。
由于使用的渲染技术,所有几何实例必须具有相同的颜色。
如果存在颜色不同的实例,在首次尝试渲染时将抛出 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 : 并非所有几何实例都具有相同的颜色属性。
