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);