一个从
VoxelProvider 渲染体素数据的图元(primitive)。
| Name | Type | Description | ||||||||||||||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
options |
object |
optional
Object with the following properties:
|
Experimental
This feature is not final and is subject to change without Cesium's standard deprecation policy.
See:
Members
allTilesLoaded : Event
当本帧中所有满足屏幕空间误差(screen space error)的瓦片都已加载时触发的事件。对于此视图,体素图元已完全加载。
此事件在场景渲染完成后,于帧的末尾触发。
Example:
voxelPrimitive.allTilesLoaded.addEventListener(function() {
console.log('All tiles are loaded');
});
readonly boundingSphere : BoundingSphere
获取包围球(bounding sphere)。
clippingPlanes : ClippingPlaneCollection
用于有选择地禁用图元渲染的
ClippingPlaneCollection。
customShader : CustomShader
获取或设置自定义着色器(custom shader)。如果为 undefined,则尝试构建一个适合元数据类型的默认自定义着色器。如果失败,则使用
VoxelPrimitive.DefaultCustomShader。
See:
readonly customShaderCompilationEvent : Event
获取每当自定义着色器被编译时引发的事件。
获取或设置是否渲染调试可视化(debug visualizations)。
获取或设置渲染时是否进行深度测试(test against depth)。
constant dimensions : Cartesian3
获取每个体素瓦片的尺寸(采用 z 轴向上(z-up)的方向)。不包含填充(padding)。
获取或设置当视图发生变化时图元是否应更新。
initialTilesLoaded : Event
当本帧中所有满足屏幕空间误差(screen space error)的瓦片都已加载时触发的事件。当初始视图中的所有瓦片都加载完成时,此事件触发一次。
此事件在场景渲染完成后,于帧的末尾触发。
Example:
voxelPrimitive.initialTilesLoaded.addEventListener(function() {
console.log('Initial tiles are loaded');
});
See:
constant inputDimensions : Cartesian3
获取输入体素数据中单个瓦片的尺寸(采用输入方向)。包含填充(padding)。
loadProgress : Event
指示新瓦片加载进度的事件。当请求新瓦片、请求的瓦片下载完成、以及下载的瓦片处理完毕并准备渲染时,都会触发此事件。
待处理的瓦片请求数量 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}`);
});
maxBounds : Cartesian3
获取或设置形状本地坐标系中的最大边界。体素数据会被拉伸或压缩以适配边界。
maxClippingBounds : Cartesian3
获取或设置形状本地坐标系中的最大裁剪位置。超出该范围的所有体素内容都将被裁剪。
获取体素数据每个通道(channel)的最大值。
minBounds : Cartesian3
获取或设置形状本地坐标系中的最小边界。体素数据会被拉伸或压缩以适配边界。
minClippingBounds : Cartesian3
获取或设置形状本地坐标系中的最小裁剪位置。超出该范围的所有体素内容都将被裁剪。
获取体素数据每个通道(channel)的最小值。
readonly modelMatrix : Matrix4
获取模型矩阵(model matrix)。
获取或设置最近邻采样(nearest sampling)。
readonly orientedBoundingBox : OrientedBoundingBox
获取有向包围盒(oriented bounding box)。
constant paddingAfter : Cartesian3
获取体素数据之后的填充(padding)。
constant paddingBefore : Cartesian3
获取体素数据之前的填充(padding)。
readonly provider : VoxelProvider
获取与此图元关联的
VoxelProvider。
获取一个指示图元是否可供使用的值。
获取或设置以像素表示的屏幕空间误差(screen space error)。如果某个体素的屏幕空间尺寸大于屏幕空间误差,则该瓦片会被细分。较低的屏幕空间误差对应较高的渲染细节,但可能导致性能下降和内存消耗增加。
readonly shape : VoxelShapeType
获取形状类型(shape type)。
获取或设置此图元是否应被显示。
获取或设置光线步进(raymarching)期间使用的步长乘数。该值越小,渲染质量越高,但性能也越差。
tileFailed : Event
指示某个瓦片的内容加载失败的事件。
Example:
voxelPrimitive.tileFailed.addEventListener(function() {
console.log('An error occurred loading tile.');
});
tileLoad : Event
指示某个瓦片的内容已加载的事件。
此事件在渲染帧期间遍历瓦片集(tileset)时触发,以便对瓦片的更新在同一帧中生效。在事件监听器中不要创建或修改 Cesium 实体或图元。
Example:
voxelPrimitive.tileLoad.addEventListener(function() {
console.log('A tile was loaded.');
});
tileUnload : Event
指示某个瓦片的内容已卸载的事件。
Example:
voxelPrimitive.tileUnload.addEventListener(function() {
console.log('A tile was unloaded from the cache.');
});
tileVisible : Event
此事件在每一帧中为每个可见瓦片触发一次。
此事件在渲染帧期间遍历时触发。
Example:
voxelPrimitive.tileVisible.addEventListener(function() {
console.log('A tile is visible.');
});
Methods
销毁此对象持有的 WebGL 资源。销毁对象可以实现 WebGL 资源的确定性释放,而不必依赖垃圾回收器来销毁该对象。
一旦对象被销毁,就不应再使用它;调用除
一旦对象被销毁,就不应再使用它;调用除
isDestroyed 之外的任何函数都会导致 DeveloperError 异常。因此,应像示例中那样将返回值(undefined)赋给该对象。
Throws:
-
DeveloperError :此对象已被销毁,即已调用 destroy()。
Example:
voxelPrimitive = voxelPrimitive && voxelPrimitive.destroy();
See:
Returns:
true 表示此对象已被销毁,否则为 false。
