VoxelPrimitive

new Cesium.VoxelPrimitive(options)

一个从 VoxelProvider 渲染体素数据的原语。
Name Type Description
options object optional Object 具有以下属性:
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

The event fired to indicate that all tiles that meet the screen space error this frame are loaded. The voxel primitive is completely loaded for this view.

This event is fired at the end of the frame after the scene is rendered.

Example:
voxelPrimitive.allTilesLoaded.addEventListener(function() {
    console.log('All tiles are loaded');
});
Gets the bounding sphere.
The ClippingPlaneCollection used to selectively disable rendering the primitive.
Gets or sets the custom shader. If undefined, VoxelPrimitive.DefaultCustomShader is set.
See:

readonly customShaderCompilationEvent : Event

Gets an event that is raised whenever a custom shader is compiled.
Gets or sets whether or not to render debug visualizations.
Gets or sets whether or not to test against depth when rendering.
Gets the dimensions of each voxel tile, in z-up orientation. Does not include padding.
Gets or sets whether or not the primitive should update when the view changes.
The event fired to indicate that all tiles that meet the screen space error this frame are loaded. This event is fired once when all tiles in the initial view are loaded.

This event is fired at the end of the frame after the scene is rendered.

Example:
voxelPrimitive.initialTilesLoaded.addEventListener(function() {
    console.log('Initial tiles are loaded');
});
See:
Gets the dimensions of one tile of the input voxel data, in the input orientation. Includes padding.
The event fired to indicate progress of loading new tiles. This event is fired when a new tile is requested, when a requested tile is finished downloading, and when a downloaded tile has been processed and is ready to render.

The number of pending tile requests, numberOfPendingRequests, and number of tiles processing, numberOfTilesProcessing are passed to the event listener.

This event is fired at the end of the frame after the scene is rendered.

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

    console.log(`Loading: requests: ${numberOfPendingRequests}, processing: ${numberOfTilesProcessing}`);
});
Gets or sets the maximum bounds in the shape's local coordinate system. Voxel data is stretched or squashed to fit the bounds.
Gets or sets the maximum clipping location in the shape's local coordinate system. Any voxel content outside the range is clipped.

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

Gets the maximum value per channel of the voxel data.
Gets or sets the minimum bounds in the shape's local coordinate system. Voxel data is stretched or squashed to fit the bounds.
Gets or sets the minimum clipping location in the shape's local coordinate system. Any voxel content outside the range is clipped.

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

Gets the minimum value per channel of the voxel data.
Gets the model matrix.

nearestSampling : boolean

Gets or sets the nearest sampling.
Gets the oriented bounding box.
Gets the padding after the voxel data.
Gets the padding before the voxel data.
Gets the VoxelProvider associated with this primitive.
Gets a value indicating whether or not the primitive is ready for use.

screenSpaceError : number

Gets or sets the screen space error in pixels. If the screen space size of a voxel is greater than the screen space error, the tile is subdivided. Lower screen space error corresponds with higher detail rendering, but could result in worse performance and higher memory consumption.
Gets the shape type.
Gets or sets whether or not this primitive should be displayed.
Gets or sets the step size multiplier used during raymarching. The lower the value, the higher the rendering quality, but also the worse the performance.
The event fired to indicate that a tile's content failed to load.
Example:
voxelPrimitive.tileFailed.addEventListener(function() {
    console.log('An error occurred loading tile.');
});
The event fired to indicate that a tile's content was loaded.

This event is fired during the tileset traversal while the frame is being rendered so that updates to the tile take effect in the same frame. Do not create or modify Cesium entities or primitives during the event listener.

Example:
voxelPrimitive.tileLoad.addEventListener(function() {
    console.log('A tile was loaded.');
});
The event fired to indicate that a tile's content was unloaded.
Example:
voxelPrimitive.tileUnload.addEventListener(function() {
    console.log('A tile was unloaded from the cache.');
});
This event fires once for each visible tile in a frame.

This event is fired during the traversal while the frame is being rendered.

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

Methods

Destroys the WebGL resources held by this object. Destroying an object allows for deterministic release of WebGL resources, instead of relying on the garbage collector to destroy this object.

Once an object is destroyed, it should not be used; calling any function other than isDestroyed will result in a DeveloperError exception. Therefore, assign the return value (undefined) to the object as done in the example.
Throws:
  • DeveloperError : This object was destroyed, i.e., destroy() was called.
Example:
voxelPrimitive = voxelPrimitive && voxelPrimitive.destroy();
See:

isDestroyed()boolean

Returns true if this object was destroyed; otherwise, false.

If this object was destroyed, it should not be used; calling any function other than isDestroyed will result in a DeveloperError exception.
Returns:
true if this object was destroyed; otherwise, false.
See:
Need help? The fastest way to get answers is from the community and team on the Cesium Forum.