| 12345678910111213141516171819202122232425262728293031323334353637 | 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 */const 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);
 |