BlendEquation是CesiumJS中的一个枚举类型,用于指定OpenGL混合方程式。混合方程式用于将颜色值与背景颜色值进行混合计算,以实现透明效果。
BlendEquation包含以下枚举常量:
BlendEquation.ADD默认值,将源颜色和目标颜色相加,得到混合后的颜色。
BlendEquation.SUBTRACT将源颜色减去目标颜色,得到混合后的颜色。
BlendEquation.REVERSE_SUBTRACT将目标颜色减去源颜色,得到混合后的颜色。
BlendEquation.MIN将源颜色和目标颜色的最小值作为混合后的颜色。
BlendEquation.MAX将源颜色和目标颜色的最大值作为混合后的颜色。
以下示例将混合方程式设置为BlendEquation.REVERSE_SUBTRACT:
var material = new Cesium.Material({
    fabric : {
        type : 'Color',
        uniforms : {
            color : new Cesium.Color(1.0, 0.0, 0.0, 0.5),
        },
        source : 'czm_material czm_material czm_material czm_blendEquation = czm_reverseSubtract;\nvoid main()\n{\n    czm_materialInput materialInput;\n    materialInput.s = v_textureCoordinates.s;\n    materialInput.st = v_textureCoordinates.st;\n    materialInput.str = vec3(v_textureCoordinates.st, 0.0);\n    materialInput.normalEC = normalize(v_normalEC);\n    materialInput.tangentToEyeMatrix = tangentToEyeMatrix;\n    vec3 color = czm_getMaterial(czm_material).rgb;\n    gl_FragColor = vec4(color, czm_getMaterial(czm_material).a * color.a);\n}',
    },
});
primitive.setMaterial(material);