ClassificationPrimitive

new LSGlobe.ClassificationPrimitive ( options )

分类原语表示要突出显示的 Scene 中包含体积的几何。

基本体将几何实例与描述完整阴影的 Appearance 组合在一起,包括 材料 RenderState 。大致而言,几何实例定义了结构和位置,外观定义了视觉特征。解耦的几何形状和外观使我们能够混合并匹配其中的大多数,并彼此独立地添加新的几何形状或外观。使用此功能时,目前仅支持在所有实例上使用相同颜色的 PerInstanceColorAppearance 分类直接直接。在对地形或3D瓷砖进行分类时,要获得 外观 的全面支持,请使用 GroundPrimitive 代替。

为了正确渲染,此功能需要EXT_frag_depth WebGL扩展。对于不支持此扩展的硬件,将在某些视角呈现渲染伪像。

有效的几何图形是 BoxGeometry CylinderGeometry ,< a href =' EllipsoidGeometry.html'> EllipsoidGeometry PolylineVolumeGeometry SphereGeometry

遵循椭球表面的几何,例如 CircleGeometry CorridorGeometry 代码> EllipseGeometry PolygonGeometry RectangleGeometry ,如果它们是挤压体积,则也有效;否则,将不会渲染它们。

Name Type Description
options Object optional Object with the following properties:
Name Type Default Description
geometryInstances Array | GeometryInstance 可选 要渲染的几何实例。这可以是单个实例,也可以是长度为1的数组。
appearance Appearance 可选 用于渲染图元的外观。当GeometryInstances具有color属性时,默认值为PerInstanceColorAppearance。
show Boolean true 可选 确定是否将显示此原语。
vertexCacheOptimize Boolean false 可选 如果为 true ,则为顶点着色器之前和之后的缓存优化几何顶点。
interleave Boolean false 可选 true 时,将交错几何图形顶点属性,这可以稍微改善渲染性能,但会增加加载时间。
compressVertices Boolean true 可选 true 时,将压缩几何顶点,这将节省内存。
releaseGeometryInstances Boolean true 可选 如果为 true ,则该原语不保留对输入的 geometryInstances 的引用以节省内存。
allowPicking Boolean true 可选 如果为 true ,则只能使用 Scene#pick 来拾取每个几何实例。如果 false ,则保存GPU内存。
asynchronous Boolean true 可选 确定基元是异步创建还是阻塞直到准备就绪。如果为false,则必须首先调用initializeTerrainHeights()。
classificationType ClassificationType ClassificationType.BOTH 可选 确定是对地形,3D拼贴还是对两者进行分类。
debugShowBoundingVolume Boolean false 可选 仅用于调试。确定是否显示该图元的命令的边界球。
debugShowShadowVolume Boolean false 可选 仅用于调试。确定是否绘制图元中每个几何的阴影体积。必须为 true 在释放几何图形或options.releaseGeometryInstance之前创建要创建的卷的创建必须为 false
See:

Members

readonly allowPicking : Boolean

如果为 true ,则只能使用 Scene#pick 来拾取每个几何实例。如果 false ,则保存GPU内存。
Default Value: true

readonly asynchronous : Boolean

确定是否将在Web Worker上创建几何实例并进行批处理。
Default Value: true
确定是对地形,3D拼贴还是对两者进行分类。
Default Value: ClassificationType.BOTH

readonly compressVertices : Boolean

true 时,将压缩几何顶点,这将节省内存。
Default Value: true

debugShowBoundingVolume : Boolean

此属性仅用于调试。它不是用于生产用途,也不是经过优化的。

为图元中的每个绘制命令绘制边界球。

Default Value: false

debugShowShadowVolume : Boolean

此属性仅用于调试。它不是用于生产用途,也不是经过优化的。

为图元中的每个几何图形绘制阴影体积。

Default Value: false
用该图元渲染的几何实例。这可能如果 options.releaseGeometryInstances undefined 构造基元时为 true

渲染图元后更改此属性无效。

由于使用了渲染技术,因此所有几何实例必须具有相同的颜色。如果实例的颜色不同,则会抛出 DeveloperError 第一次尝试渲染。

Default Value: undefined

readonly interleave : Boolean

确定是否交错几何图形顶点属性,这可以稍微改善渲染性能。
Default Value: false
确定图元是否完整并准备渲染。如果此属性是如果为true,则下一次 ClassificationPrimitive#update 时将渲染图元。叫做。
获取一个承诺,该承诺在准备好渲染图元时解析。

readonly releaseGeometryInstances : Boolean

如果为 true ,则该原语不保留对输入的 geometryInstances 的引用以节省内存。
Default Value: true
确定是否显示图元。这会影响所有几何原语中的实例。
Default Value: true

readonly vertexCacheOptimize : Boolean

如果为 true ,则为顶点着色器之前和之后的缓存优化几何顶点。
Default Value: true

Methods

static LSGlobe.ClassificationPrimitive.isSupported (scene) Boolean

确定是否支持ClassificationPrimitive呈现。
Name Type Description
scene Scene 现场。
Returns:
真正 如果支持ClassificationPrimitives;否则,返回
销毁此对象拥有的WebGL资源。销毁对象可以确定性释放WebGL资源,而不是依赖垃圾回收器破坏此对象。

一旦物体被破坏,就不应使用。调用除 isDestroyed 将导致 DeveloperError 异常。因此,如示例中所述,将返回值( undefined )分配给对象。

Throws:
Example:
e = e && e.destroy();
See:

getGeometryInstanceAttributes (id) Object

返回 GeometryInstance 的每个实例的可修改属性。
Name Type Description
id * GeometryInstance 的ID。
Returns:
以属性格式表示的类型化数组;如果没有带id的实例,则为undefined。
Throws:
  • DeveloperError :必须在调用getGeometryInstanceAttributes之前调用update。
Example:
var attributes = primitive.getGeometryInstanceAttributes('an id');
attributes.color = LSGlobe.ColorGeometryInstanceAttribute.toValue(LSGlobe.Color.AQUA);
attributes.show = LSGlobe.ShowGeometryInstanceAttribute.toValue(true);
如果此对象已销毁,则返回true;否则返回false。否则为假。

如果该对象被破坏,则不应使用。调用除 isDestroyed 将导致 DeveloperError 异常。

Returns:
真正 该物体是否被破坏;除此以外,
See:
Viewer CesiumWidget 渲染场景时调用至获取渲染该图元所需的绘制命令。

不要直接调用此函数。这只是为了列出渲染场景时可能传播的异常:

Throws: