cesium
Version:
CesiumJS is a JavaScript library for creating 3D globes and 2D maps in a web browser without a plugin.
38 lines (35 loc) • 1.34 kB
JavaScript
import StencilFunction from './StencilFunction.js';
import StencilOperation from './StencilOperation.js';
/**
* The most significant bit is used to identify whether the pixel is 3D Tiles.
* The next three bits store selection depth for the skip LODs optimization.
* The last four bits are for increment/decrement shadow volume operations for classification.
*
* @private
*/
var StencilConstants = {
CESIUM_3D_TILE_MASK : 0x80,
SKIP_LOD_MASK : 0x70,
SKIP_LOD_BIT_SHIFT : 4,
CLASSIFICATION_MASK : 0x0F
};
StencilConstants.setCesium3DTileBit = function() {
return {
enabled : true,
frontFunction : StencilFunction.ALWAYS,
frontOperation : {
fail : StencilOperation.KEEP,
zFail : StencilOperation.KEEP,
zPass : StencilOperation.REPLACE
},
backFunction : StencilFunction.ALWAYS,
backOperation : {
fail : StencilOperation.KEEP,
zFail : StencilOperation.KEEP,
zPass : StencilOperation.REPLACE
},
reference : StencilConstants.CESIUM_3D_TILE_MASK,
mask : StencilConstants.CESIUM_3D_TILE_MASK
};
};
export default Object.freeze(StencilConstants);