Scene
中要突出显示的几何图形的包围体。
图元将几何图形实例与描述完整阴影的Appearance
组合在一起,其中包括Material
和RenderState
。
大致上,几何实例定义了结构和位置,外观定义了视觉特征。解耦几何和外观允许我们混合和匹配它们中的大多数,并独立地添加一个新的几何或外观。
在直接使用ClassificationPrimitive时,只支持在所有实例中使用相同颜色的PerInstanceColorAppearance
。
当分类地形或3D Tiles使用GroundPrimitive
代替时有完整的Appearance
支持。
为了正确的渲染,这个特性需要EXT_frag_depth WebGL扩展。对于不支持此扩展的硬件,将在某些视角渲染伪像(artifacts)。
有效的几何图形有BoxGeometry
、CylinderGeometry
、EllipsoidGeometry
、PolylineVolumeGeometry
和SphereGeometry
。
沿椭球表面的几何图形,如CircleGeometry
、CorridorGeometry
、EllipseGeometry
、PolygonGeometry
和RectangleGeometry
,
如果是挤压体,也同样有效;否则,它们将不会被渲染。
Name | Type | Description | ||||||||||||||||||||||||||||||||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
options |
Object |
optional
具有下列属性的对象:
|
成员变量
-
Default Value:
true
-
Default Value:
true
-
Default Value:
ClassificationType.BOTH
true
时,何顶点被压缩,这将节省内存。
-
Default Value:
true
为图元中的每个draw命令绘制边界球。
-
Default Value:
false
为图元中的每个几何图形绘制阴影体。
-
Default Value:
false
options.releaseGeometryInstances
为true,则此属性为undefined
。
在图元渲染后更改此属性没有效果。
由于使用了渲染技术,所有几何实例必须是相同的颜色。如果存在不同颜色的实例,则在第一次呈现时将抛出DeveloperError
。
-
Default Value:
undefined
true
时,几何顶点属性是交错的,这可以略微提高渲染性能,但增加了加载时间。
-
Default Value:
false
ClassificationPrimitive#update
时将渲染图元。
true
时,该图元不保留对输入geometryInstances
的引用,以节省内存。
-
Default Value:
true
-
Default Value:
true
true
时,几何顶点被优化为前后顶点着色器缓存。
-
Default Value:
true
内置方法
Name | Type | Description |
---|---|---|
scene |
Scene | 场景(Scene对象)。 |
一旦对象被销毁,它将不能在使用;调用除
isDestroyed
之外的任何函数都会导致DeveloperError
异常。
因此,将返回值(undefined
)赋给对象,如示例所示。
-
DeveloperError : 对象已经被销毁。
e = e && e.destroy();
GeometryInstance
的每个实例的可修改属性。
Name | Type | Description |
---|---|---|
id |
* |
GeometryInstance 的id.
|
-
DeveloperError : 必须在调用getGeometryInstanceAttributes之前调用update。
var attributes = primitive.getGeometryInstanceAttributes('an id');
attributes.color = Cesium.ColorGeometryInstanceAttribute.toValue(Cesium.Color.AQUA);
attributes.show = Cesium.ShowGeometryInstanceAttribute.toValue(true);
不要直接调用此函数。这只是为了列出渲染场景时可能出现的异常:
-
DeveloperError : 所有几何实例必须具有相同的primaryType。
-
DeveloperError : 外观和材质具有相同名称的uniform。
-
DeveloperError : 并不是所有的几何图形实例都具有相同的颜色属性。