VoxelPrimitive

new Cesium.VoxelPrimitive(options)

渲染来自 VoxelProvider 的体素数据的图元。
Name Type Description
options object optional 包含以下属性的对象:
Name Type Default Description
provider VoxelProvider optional 为图元提供瓦片数据的体素提供者。
modelMatrix Matrix4 Matrix4.IDENTITY optional 用于变换图元的模型矩阵。
customShader CustomShader optional 用于样式化图元的自定义着色器。
clock Clock optional 用于控制时间动态行为的时钟。
calculateStatistics boolean optional 生成性能剖析的统计数据。
Experimental

此功能尚未最终确定,可能会在没有 Cesium 标准弃用政策的情况下进行更改。

See:

Members

表示当前帧中所有满足屏幕空间误差要求的瓦片均已加载的事件。体素 图元已完全加载以适应该视图。

此事件在场景渲染后的帧末尾触发。

Example:
voxelPrimitive.allTilesLoaded.addEventListener(function() {
    console.log('All tiles are loaded');
});
获取边界球。
用于选择性禁用图元渲染的 ClippingPlaneCollection
获取或设置自定义着色器。如果未定义,则设置为 VoxelPrimitive.DefaultCustomShader
See:

readonly customShaderCompilationEvent : Event

获取每次编译自定义着色器时触发的事件。
获取或设置是否渲染调试可视化内容。
获取或设置渲染时是否进行深度测试。
获取每个体素瓦片的尺寸,采用 z 轴朝上的方向。 不包含填充区域。
获取或设置当视图变化时图元是否更新。
表示当前帧中所有满足屏幕空间误差要求的瓦片均已加载的事件。此事件 在初始视图中的所有瓦片加载完成后触发一次。

此事件在场景渲染后的帧末尾触发。

Example:
voxelPrimitive.initialTilesLoaded.addEventListener(function() {
    console.log('Initial tiles are loaded');
});
See:
获取输入体素数据中一个瓦片的尺寸,采用输入方向。 包含填充区域。
表示加载新瓦片进度的事件。此事件在请求新瓦片时、瓦片下载完成时以及瓦片已处理并准备渲染时触发。

待处理的瓦片请求数量 numberOfPendingRequests 和正在处理的瓦片数量 numberOfTilesProcessing 会传递给事件监听器。

此事件在场景渲染后的帧末尾触发。

Example:
voxelPrimitive.loadProgress.addEventListener(function(numberOfPendingRequests, numberOfTilesProcessing) {
    if ((numberOfPendingRequests === 0) && (numberOfTilesProcessing === 0)) {
        console.log('Finished loading');
        return;
    }

    console.log(`Loading: requests: ${numberOfPendingRequests}, processing: ${numberOfTilesProcessing}`);
});
获取或设置形状局部坐标系中的最大边界。 体素数据会被拉伸或压缩以适应边界。
获取或设置形状局部坐标系中的最大裁剪位置。 范围外的任何体素内容都会被裁剪。

readonly maximumValues : Array.<Array.<number>>

获取体素数据每个通道的最大值。
获取或设置形状局部坐标系中的最小边界。 体素数据会被拉伸或压缩以适应边界。
获取或设置形状局部坐标系中的最小裁剪位置。 范围外的任何体素内容都会被裁剪。

readonly minimumValues : Array.<Array.<number>>

获取体素数据每个通道的最小值。
获取模型矩阵。

nearestSampling : boolean

获取或设置最近采样模式。
获取有向包围盒。
获取体素数据后方的填充区域。
获取体素数据前方的填充区域。
获取与此图元关联的 VoxelProvider
获取一个值,指示图元是否已准备就绪可以使用。

screenSpaceError : number

获取或设置屏幕空间误差(以像素为单位)。如果体素的屏幕空间大小 大于屏幕空间误差,则对该瓦片进行细分。 较低的屏幕空间误差对应更高的细节渲染,但可能 导致更差的性能和更高的内存消耗。
获取形状类型。
获取或设置是否显示此图元。
获取或设置光线步进期间使用的步长乘数。 值越低,渲染质量越高,但 性能也越差。
表示瓦片内容加载失败时触发的事件。
Example:
voxelPrimitive.tileFailed.addEventListener(function() {
    console.log('An error occurred loading tile.');
});
表示瓦片内容已加载时触发的事件。

此事件在渲染帧期间的图元遍历过程中触发,以便瓦片的更新在同一帧中生效。在事件监听器中不要创建或修改 Cesium 实体或图元。

Example:
voxelPrimitive.tileLoad.addEventListener(function() {
    console.log('A tile was loaded.');
});
表示瓦片内容已卸载时触发的事件。
Example:
voxelPrimitive.tileUnload.addEventListener(function() {
    console.log('A tile was unloaded from the cache.');
});
此事件在每一帧中为每个可见瓦片触发一次。

此事件在渲染帧期间的遍历过程中触发。

Example:
voxelPrimitive.tileVisible.addEventListener(function() {
    console.log('A tile is visible.');
});

Methods

销毁此对象持有的 WebGL 资源。销毁对象可以确定性 地释放 WebGL 资源,而不是依赖垃圾回收器来销毁此对象。

对象一旦销毁,就不应再使用;调用除 isDestroyed 以外的任何函数都将导致 DeveloperError 异常。因此, 如示例所示,将返回值(undefined)赋给该对象。
Throws:
Example:
voxelPrimitive = voxelPrimitive && voxelPrimitive.destroy();
See:

isDestroyed()boolean

返回此对象是否已被销毁;如果未被销毁,则返回 false。

如果此对象已被销毁,则不应再使用;调用除 isDestroyed 以外的任何函数都将导致 DeveloperError 异常。
Returns:
如果此对象已被销毁,则返回 true;否则返回 false
See:
Need help? The fastest way to get answers is from the community and team on the Cesium Forum.