Add existing to tracked

This commit is contained in:
Jay
2026-08-11 09:53:42 -04:00
parent afe07f3055
commit ffd6e3d73c
8531 changed files with 4396230 additions and 0 deletions
+78
View File
@@ -0,0 +1,78 @@
// @ts-check
import BlendEquation from "./BlendEquation.js";
import BlendFunction from "./BlendFunction.js";
/**
* The blending state combines {@link BlendEquation} and {@link BlendFunction} and the
* <code>enabled</code> flag to define the full blending state for combining source and
* destination fragments when rendering.
* <p>
* This is a helper when using custom render states with {@link Appearance#renderState}.
* </p>
*
* @namespace
*/
const BlendingState = {
/**
* Blending is disabled.
*
* @type {object}
* @constant
*/
DISABLED: Object.freeze({
enabled: false,
}),
/**
* Blending is enabled using alpha blending, <code>source(source.alpha) + destination(1 - source.alpha)</code>.
*
* @type {object}
* @constant
*/
ALPHA_BLEND: Object.freeze({
enabled: true,
equationRgb: BlendEquation.ADD,
equationAlpha: BlendEquation.ADD,
functionSourceRgb: BlendFunction.SOURCE_ALPHA,
functionSourceAlpha: BlendFunction.ONE,
functionDestinationRgb: BlendFunction.ONE_MINUS_SOURCE_ALPHA,
functionDestinationAlpha: BlendFunction.ONE_MINUS_SOURCE_ALPHA,
}),
/**
* Blending is enabled using alpha blending with premultiplied alpha, <code>source + destination(1 - source.alpha)</code>.
*
* @type {object}
* @constant
*/
PRE_MULTIPLIED_ALPHA_BLEND: Object.freeze({
enabled: true,
equationRgb: BlendEquation.ADD,
equationAlpha: BlendEquation.ADD,
functionSourceRgb: BlendFunction.ONE,
functionSourceAlpha: BlendFunction.ONE,
functionDestinationRgb: BlendFunction.ONE_MINUS_SOURCE_ALPHA,
functionDestinationAlpha: BlendFunction.ONE_MINUS_SOURCE_ALPHA,
}),
/**
* Blending is enabled using additive blending, <code>source(source.alpha) + destination</code>.
*
* @type {object}
* @constant
*/
ADDITIVE_BLEND: Object.freeze({
enabled: true,
equationRgb: BlendEquation.ADD,
equationAlpha: BlendEquation.ADD,
functionSourceRgb: BlendFunction.SOURCE_ALPHA,
functionSourceAlpha: BlendFunction.ONE,
functionDestinationRgb: BlendFunction.ONE,
functionDestinationAlpha: BlendFunction.ONE,
}),
};
Object.freeze(BlendingState);
export default BlendingState;