You cannot select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
38 lines
1.1 KiB
JavaScript
38 lines
1.1 KiB
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);
|