赣州市洪水风险预警系统三维版本
guoshilong
2023-02-27 4d8c6dd77427e8e581fda17b6b65ba86bfb7a815
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
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);