This commit is contained in:
Akko
2025-08-04 18:57:35 +02:00
parent 8cf6e78a79
commit 9495868c2e
5030 changed files with 518594 additions and 17609 deletions

View File

@@ -0,0 +1,3 @@
/// <reference types="@webgpu/types" />
import type { BLEND_MODES } from '../../shared/state/const';
export declare const GpuBlendModesToPixi: Partial<Record<BLEND_MODES, GPUBlendState>>;

View File

@@ -0,0 +1,151 @@
'use strict';
"use strict";
const GpuBlendModesToPixi = {};
GpuBlendModesToPixi.normal = {
alpha: {
srcFactor: "one",
dstFactor: "one-minus-src-alpha",
operation: "add"
},
color: {
srcFactor: "one",
dstFactor: "one-minus-src-alpha",
operation: "add"
}
};
GpuBlendModesToPixi.add = {
alpha: {
srcFactor: "src-alpha",
dstFactor: "one-minus-src-alpha",
operation: "add"
},
color: {
srcFactor: "one",
dstFactor: "one",
operation: "add"
}
};
GpuBlendModesToPixi.multiply = {
alpha: {
srcFactor: "one",
dstFactor: "one-minus-src-alpha",
operation: "add"
},
color: {
srcFactor: "dst",
dstFactor: "one-minus-src-alpha",
operation: "add"
}
};
GpuBlendModesToPixi.screen = {
alpha: {
srcFactor: "one",
dstFactor: "one-minus-src-alpha",
operation: "add"
},
color: {
srcFactor: "one",
dstFactor: "one-minus-src",
operation: "add"
}
};
GpuBlendModesToPixi.overlay = {
alpha: {
srcFactor: "one",
dstFactor: "one-minus-src-alpha",
operation: "add"
},
color: {
srcFactor: "one",
dstFactor: "one-minus-src",
operation: "add"
}
};
GpuBlendModesToPixi.none = {
alpha: {
srcFactor: "one",
dstFactor: "one-minus-src-alpha",
operation: "add"
},
color: {
srcFactor: "zero",
dstFactor: "zero",
operation: "add"
}
};
GpuBlendModesToPixi["normal-npm"] = {
alpha: {
srcFactor: "one",
dstFactor: "one-minus-src-alpha",
operation: "add"
},
color: {
srcFactor: "src-alpha",
dstFactor: "one-minus-src-alpha",
operation: "add"
}
};
GpuBlendModesToPixi["add-npm"] = {
alpha: {
srcFactor: "one",
dstFactor: "one",
operation: "add"
},
color: {
srcFactor: "src-alpha",
dstFactor: "one",
operation: "add"
}
};
GpuBlendModesToPixi["screen-npm"] = {
alpha: {
srcFactor: "one",
dstFactor: "one-minus-src-alpha",
operation: "add"
},
color: {
srcFactor: "src-alpha",
dstFactor: "one-minus-src",
operation: "add"
}
};
GpuBlendModesToPixi.erase = {
alpha: {
srcFactor: "zero",
dstFactor: "one-minus-src-alpha",
operation: "add"
},
color: {
srcFactor: "zero",
dstFactor: "one-minus-src",
operation: "add"
}
};
GpuBlendModesToPixi.min = {
alpha: {
srcFactor: "one",
dstFactor: "one",
operation: "min"
},
color: {
srcFactor: "one",
dstFactor: "one",
operation: "min"
}
};
GpuBlendModesToPixi.max = {
alpha: {
srcFactor: "one",
dstFactor: "one",
operation: "max"
},
color: {
srcFactor: "one",
dstFactor: "one",
operation: "max"
}
};
exports.GpuBlendModesToPixi = GpuBlendModesToPixi;
//# sourceMappingURL=GpuBlendModesToPixi.js.map

File diff suppressed because one or more lines are too long

View File

@@ -0,0 +1,149 @@
"use strict";
const GpuBlendModesToPixi = {};
GpuBlendModesToPixi.normal = {
alpha: {
srcFactor: "one",
dstFactor: "one-minus-src-alpha",
operation: "add"
},
color: {
srcFactor: "one",
dstFactor: "one-minus-src-alpha",
operation: "add"
}
};
GpuBlendModesToPixi.add = {
alpha: {
srcFactor: "src-alpha",
dstFactor: "one-minus-src-alpha",
operation: "add"
},
color: {
srcFactor: "one",
dstFactor: "one",
operation: "add"
}
};
GpuBlendModesToPixi.multiply = {
alpha: {
srcFactor: "one",
dstFactor: "one-minus-src-alpha",
operation: "add"
},
color: {
srcFactor: "dst",
dstFactor: "one-minus-src-alpha",
operation: "add"
}
};
GpuBlendModesToPixi.screen = {
alpha: {
srcFactor: "one",
dstFactor: "one-minus-src-alpha",
operation: "add"
},
color: {
srcFactor: "one",
dstFactor: "one-minus-src",
operation: "add"
}
};
GpuBlendModesToPixi.overlay = {
alpha: {
srcFactor: "one",
dstFactor: "one-minus-src-alpha",
operation: "add"
},
color: {
srcFactor: "one",
dstFactor: "one-minus-src",
operation: "add"
}
};
GpuBlendModesToPixi.none = {
alpha: {
srcFactor: "one",
dstFactor: "one-minus-src-alpha",
operation: "add"
},
color: {
srcFactor: "zero",
dstFactor: "zero",
operation: "add"
}
};
GpuBlendModesToPixi["normal-npm"] = {
alpha: {
srcFactor: "one",
dstFactor: "one-minus-src-alpha",
operation: "add"
},
color: {
srcFactor: "src-alpha",
dstFactor: "one-minus-src-alpha",
operation: "add"
}
};
GpuBlendModesToPixi["add-npm"] = {
alpha: {
srcFactor: "one",
dstFactor: "one",
operation: "add"
},
color: {
srcFactor: "src-alpha",
dstFactor: "one",
operation: "add"
}
};
GpuBlendModesToPixi["screen-npm"] = {
alpha: {
srcFactor: "one",
dstFactor: "one-minus-src-alpha",
operation: "add"
},
color: {
srcFactor: "src-alpha",
dstFactor: "one-minus-src",
operation: "add"
}
};
GpuBlendModesToPixi.erase = {
alpha: {
srcFactor: "zero",
dstFactor: "one-minus-src-alpha",
operation: "add"
},
color: {
srcFactor: "zero",
dstFactor: "one-minus-src",
operation: "add"
}
};
GpuBlendModesToPixi.min = {
alpha: {
srcFactor: "one",
dstFactor: "one",
operation: "min"
},
color: {
srcFactor: "one",
dstFactor: "one",
operation: "min"
}
};
GpuBlendModesToPixi.max = {
alpha: {
srcFactor: "one",
dstFactor: "one",
operation: "max"
},
color: {
srcFactor: "one",
dstFactor: "one",
operation: "max"
}
};
export { GpuBlendModesToPixi };
//# sourceMappingURL=GpuBlendModesToPixi.mjs.map

File diff suppressed because one or more lines are too long

View File

@@ -0,0 +1,54 @@
/// <reference types="@webgpu/types" />
import { ExtensionType } from '../../../../extensions/Extensions';
import { State } from '../../shared/state/State';
import type { BLEND_MODES } from '../../shared/state/const';
import type { System } from '../../shared/system/System';
import type { GPU } from '../GpuDeviceSystem';
/**
* System plugin to the renderer to manage WebGL state machines.
* @memberof rendering
*/
export declare class GpuStateSystem implements System {
/** @ignore */
static extension: {
readonly type: readonly [ExtensionType.WebGPUSystem];
readonly name: "state";
};
/**
* State ID
* @readonly
*/
stateId: number;
/**
* Polygon offset
* @readonly
*/
polygonOffset: number;
/**
* Blend mode
* @default 'none'
* @readonly
*/
blendMode: BLEND_MODES;
/** Whether current blend equation is different */
protected _blendEq: boolean;
/**
* GL context
* @member {WebGLRenderingContext}
* @readonly
*/
protected gpu: GPU;
/**
* Default WebGL State
* @readonly
*/
protected defaultState: State;
constructor();
protected contextChange(gpu: GPU): void;
/**
* Gets the blend mode data for the current state
* @param state - The state to get the blend mode from
*/
getColorTargets(state: State): GPUColorTargetState[];
destroy(): void;
}

View File

@@ -0,0 +1,43 @@
'use strict';
var Extensions = require('../../../../extensions/Extensions.js');
var State = require('../../shared/state/State.js');
var GpuBlendModesToPixi = require('./GpuBlendModesToPixi.js');
"use strict";
class GpuStateSystem {
constructor() {
this.defaultState = new State.State();
this.defaultState.blend = true;
}
contextChange(gpu) {
this.gpu = gpu;
}
/**
* Gets the blend mode data for the current state
* @param state - The state to get the blend mode from
*/
getColorTargets(state) {
const blend = GpuBlendModesToPixi.GpuBlendModesToPixi[state.blendMode] || GpuBlendModesToPixi.GpuBlendModesToPixi.normal;
return [
{
format: "bgra8unorm",
writeMask: 0,
blend
}
];
}
destroy() {
this.gpu = null;
}
}
/** @ignore */
GpuStateSystem.extension = {
type: [
Extensions.ExtensionType.WebGPUSystem
],
name: "state"
};
exports.GpuStateSystem = GpuStateSystem;
//# sourceMappingURL=GpuStateSystem.js.map

View File

@@ -0,0 +1 @@
{"version":3,"file":"GpuStateSystem.js","sources":["../../../../../src/rendering/renderers/gpu/state/GpuStateSystem.ts"],"sourcesContent":["import { ExtensionType } from '../../../../extensions/Extensions';\nimport { State } from '../../shared/state/State';\nimport { GpuBlendModesToPixi } from './GpuBlendModesToPixi';\n\nimport type { BLEND_MODES } from '../../shared/state/const';\nimport type { System } from '../../shared/system/System';\nimport type { GPU } from '../GpuDeviceSystem';\n\n/**\n * System plugin to the renderer to manage WebGL state machines.\n * @memberof rendering\n */\nexport class GpuStateSystem implements System\n{\n /** @ignore */\n public static extension = {\n type: [\n ExtensionType.WebGPUSystem,\n ],\n name: 'state',\n } as const;\n /**\n * State ID\n * @readonly\n */\n public stateId: number;\n\n /**\n * Polygon offset\n * @readonly\n */\n public polygonOffset: number;\n\n /**\n * Blend mode\n * @default 'none'\n * @readonly\n */\n public blendMode: BLEND_MODES;\n\n /** Whether current blend equation is different */\n protected _blendEq: boolean;\n\n /**\n * GL context\n * @member {WebGLRenderingContext}\n * @readonly\n */\n protected gpu: GPU;\n\n /**\n * Default WebGL State\n * @readonly\n */\n protected defaultState: State;\n\n constructor()\n {\n this.defaultState = new State();\n this.defaultState.blend = true;\n }\n\n protected contextChange(gpu: GPU): void\n {\n this.gpu = gpu;\n }\n\n /**\n * Gets the blend mode data for the current state\n * @param state - The state to get the blend mode from\n */\n public getColorTargets(state: State): GPUColorTargetState[]\n {\n const blend = GpuBlendModesToPixi[state.blendMode] || GpuBlendModesToPixi.normal;\n\n return [\n {\n format: 'bgra8unorm',\n writeMask: 0,\n blend,\n },\n ];\n }\n\n public destroy(): void\n {\n this.gpu = null;\n }\n}\n"],"names":["State","GpuBlendModesToPixi","ExtensionType"],"mappings":";;;;;;;AAYO,MAAM,cACb,CAAA;AAAA,EA2CI,WACA,GAAA;AACI,IAAK,IAAA,CAAA,YAAA,GAAe,IAAIA,WAAM,EAAA,CAAA;AAC9B,IAAA,IAAA,CAAK,aAAa,KAAQ,GAAA,IAAA,CAAA;AAAA,GAC9B;AAAA,EAEU,cAAc,GACxB,EAAA;AACI,IAAA,IAAA,CAAK,GAAM,GAAA,GAAA,CAAA;AAAA,GACf;AAAA;AAAA;AAAA;AAAA;AAAA,EAMO,gBAAgB,KACvB,EAAA;AACI,IAAA,MAAM,KAAQ,GAAAC,uCAAA,CAAoB,KAAM,CAAA,SAAS,KAAKA,uCAAoB,CAAA,MAAA,CAAA;AAE1E,IAAO,OAAA;AAAA,MACH;AAAA,QACI,MAAQ,EAAA,YAAA;AAAA,QACR,SAAW,EAAA,CAAA;AAAA,QACX,KAAA;AAAA,OACJ;AAAA,KACJ,CAAA;AAAA,GACJ;AAAA,EAEO,OACP,GAAA;AACI,IAAA,IAAA,CAAK,GAAM,GAAA,IAAA,CAAA;AAAA,GACf;AACJ,CAAA;AAAA;AA5Ea,cAAA,CAGK,SAAY,GAAA;AAAA,EACtB,IAAM,EAAA;AAAA,IACFC,wBAAc,CAAA,YAAA;AAAA,GAClB;AAAA,EACA,IAAM,EAAA,OAAA;AACV,CAAA;;;;"}

View File

@@ -0,0 +1,41 @@
import { ExtensionType } from '../../../../extensions/Extensions.mjs';
import { State } from '../../shared/state/State.mjs';
import { GpuBlendModesToPixi } from './GpuBlendModesToPixi.mjs';
"use strict";
class GpuStateSystem {
constructor() {
this.defaultState = new State();
this.defaultState.blend = true;
}
contextChange(gpu) {
this.gpu = gpu;
}
/**
* Gets the blend mode data for the current state
* @param state - The state to get the blend mode from
*/
getColorTargets(state) {
const blend = GpuBlendModesToPixi[state.blendMode] || GpuBlendModesToPixi.normal;
return [
{
format: "bgra8unorm",
writeMask: 0,
blend
}
];
}
destroy() {
this.gpu = null;
}
}
/** @ignore */
GpuStateSystem.extension = {
type: [
ExtensionType.WebGPUSystem
],
name: "state"
};
export { GpuStateSystem };
//# sourceMappingURL=GpuStateSystem.mjs.map

View File

@@ -0,0 +1 @@
{"version":3,"file":"GpuStateSystem.mjs","sources":["../../../../../src/rendering/renderers/gpu/state/GpuStateSystem.ts"],"sourcesContent":["import { ExtensionType } from '../../../../extensions/Extensions';\nimport { State } from '../../shared/state/State';\nimport { GpuBlendModesToPixi } from './GpuBlendModesToPixi';\n\nimport type { BLEND_MODES } from '../../shared/state/const';\nimport type { System } from '../../shared/system/System';\nimport type { GPU } from '../GpuDeviceSystem';\n\n/**\n * System plugin to the renderer to manage WebGL state machines.\n * @memberof rendering\n */\nexport class GpuStateSystem implements System\n{\n /** @ignore */\n public static extension = {\n type: [\n ExtensionType.WebGPUSystem,\n ],\n name: 'state',\n } as const;\n /**\n * State ID\n * @readonly\n */\n public stateId: number;\n\n /**\n * Polygon offset\n * @readonly\n */\n public polygonOffset: number;\n\n /**\n * Blend mode\n * @default 'none'\n * @readonly\n */\n public blendMode: BLEND_MODES;\n\n /** Whether current blend equation is different */\n protected _blendEq: boolean;\n\n /**\n * GL context\n * @member {WebGLRenderingContext}\n * @readonly\n */\n protected gpu: GPU;\n\n /**\n * Default WebGL State\n * @readonly\n */\n protected defaultState: State;\n\n constructor()\n {\n this.defaultState = new State();\n this.defaultState.blend = true;\n }\n\n protected contextChange(gpu: GPU): void\n {\n this.gpu = gpu;\n }\n\n /**\n * Gets the blend mode data for the current state\n * @param state - The state to get the blend mode from\n */\n public getColorTargets(state: State): GPUColorTargetState[]\n {\n const blend = GpuBlendModesToPixi[state.blendMode] || GpuBlendModesToPixi.normal;\n\n return [\n {\n format: 'bgra8unorm',\n writeMask: 0,\n blend,\n },\n ];\n }\n\n public destroy(): void\n {\n this.gpu = null;\n }\n}\n"],"names":[],"mappings":";;;;;AAYO,MAAM,cACb,CAAA;AAAA,EA2CI,WACA,GAAA;AACI,IAAK,IAAA,CAAA,YAAA,GAAe,IAAI,KAAM,EAAA,CAAA;AAC9B,IAAA,IAAA,CAAK,aAAa,KAAQ,GAAA,IAAA,CAAA;AAAA,GAC9B;AAAA,EAEU,cAAc,GACxB,EAAA;AACI,IAAA,IAAA,CAAK,GAAM,GAAA,GAAA,CAAA;AAAA,GACf;AAAA;AAAA;AAAA;AAAA;AAAA,EAMO,gBAAgB,KACvB,EAAA;AACI,IAAA,MAAM,KAAQ,GAAA,mBAAA,CAAoB,KAAM,CAAA,SAAS,KAAK,mBAAoB,CAAA,MAAA,CAAA;AAE1E,IAAO,OAAA;AAAA,MACH;AAAA,QACI,MAAQ,EAAA,YAAA;AAAA,QACR,SAAW,EAAA,CAAA;AAAA,QACX,KAAA;AAAA,OACJ;AAAA,KACJ,CAAA;AAAA,GACJ;AAAA,EAEO,OACP,GAAA;AACI,IAAA,IAAA,CAAK,GAAM,GAAA,IAAA,CAAA;AAAA,GACf;AACJ,CAAA;AAAA;AA5Ea,cAAA,CAGK,SAAY,GAAA;AAAA,EACtB,IAAM,EAAA;AAAA,IACF,aAAc,CAAA,YAAA;AAAA,GAClB;AAAA,EACA,IAAM,EAAA,OAAA;AACV,CAAA;;;;"}

View File

@@ -0,0 +1,13 @@
export interface StencilState {
stencilWriteMask?: number;
stencilReadMask?: number;
stencilFront?: {
compare: 'always' | 'equal';
passOp: 'increment-clamp' | 'decrement-clamp' | 'keep';
};
stencilBack?: {
compare: 'always' | 'equal';
passOp: 'increment-clamp' | 'decrement-clamp' | 'keep';
};
}
export declare const GpuStencilModesToPixi: StencilState[];

View File

@@ -0,0 +1,45 @@
'use strict';
var _const = require('../../shared/state/const.js');
"use strict";
const GpuStencilModesToPixi = [];
GpuStencilModesToPixi[_const.STENCIL_MODES.NONE] = void 0;
GpuStencilModesToPixi[_const.STENCIL_MODES.DISABLED] = {
stencilWriteMask: 0,
stencilReadMask: 0
};
GpuStencilModesToPixi[_const.STENCIL_MODES.RENDERING_MASK_ADD] = {
stencilFront: {
compare: "equal",
passOp: "increment-clamp"
},
stencilBack: {
compare: "equal",
passOp: "increment-clamp"
}
};
GpuStencilModesToPixi[_const.STENCIL_MODES.RENDERING_MASK_REMOVE] = {
stencilFront: {
compare: "equal",
passOp: "decrement-clamp"
},
stencilBack: {
compare: "equal",
passOp: "decrement-clamp"
}
};
GpuStencilModesToPixi[_const.STENCIL_MODES.MASK_ACTIVE] = {
stencilWriteMask: 0,
stencilFront: {
compare: "equal",
passOp: "keep"
},
stencilBack: {
compare: "equal",
passOp: "keep"
}
};
exports.GpuStencilModesToPixi = GpuStencilModesToPixi;
//# sourceMappingURL=GpuStencilModesToPixi.js.map

View File

@@ -0,0 +1 @@
{"version":3,"file":"GpuStencilModesToPixi.js","sources":["../../../../../src/rendering/renderers/gpu/state/GpuStencilModesToPixi.ts"],"sourcesContent":["import { STENCIL_MODES } from '../../shared/state/const';\n\nexport interface StencilState\n{\n stencilWriteMask?: number\n stencilReadMask?: number;\n stencilFront?: {\n compare: 'always' | 'equal';\n passOp: 'increment-clamp' | 'decrement-clamp' | 'keep';\n },\n stencilBack?: {\n compare: 'always' | 'equal';\n passOp: 'increment-clamp' | 'decrement-clamp' | 'keep';\n }\n}\n\nexport const GpuStencilModesToPixi: StencilState[] = [];\n\nGpuStencilModesToPixi[STENCIL_MODES.NONE] = undefined;\n\nGpuStencilModesToPixi[STENCIL_MODES.DISABLED] = {\n stencilWriteMask: 0,\n stencilReadMask: 0,\n};\n\nGpuStencilModesToPixi[STENCIL_MODES.RENDERING_MASK_ADD] = {\n stencilFront: {\n compare: 'equal',\n passOp: 'increment-clamp',\n },\n stencilBack: {\n compare: 'equal',\n passOp: 'increment-clamp',\n },\n};\n\nGpuStencilModesToPixi[STENCIL_MODES.RENDERING_MASK_REMOVE] = {\n stencilFront: {\n compare: 'equal',\n passOp: 'decrement-clamp',\n },\n stencilBack: {\n compare: 'equal',\n passOp: 'decrement-clamp',\n },\n};\n\nGpuStencilModesToPixi[STENCIL_MODES.MASK_ACTIVE] = {\n stencilWriteMask: 0,\n stencilFront: {\n compare: 'equal',\n passOp: 'keep',\n },\n stencilBack: {\n compare: 'equal',\n passOp: 'keep',\n },\n};\n"],"names":["STENCIL_MODES"],"mappings":";;;;;AAgBO,MAAM,wBAAwC,GAAC;AAEtD,qBAAsB,CAAAA,oBAAA,CAAc,IAAI,CAAI,GAAA,KAAA,CAAA,CAAA;AAE5C,qBAAsB,CAAAA,oBAAA,CAAc,QAAQ,CAAI,GAAA;AAAA,EAC5C,gBAAkB,EAAA,CAAA;AAAA,EAClB,eAAiB,EAAA,CAAA;AACrB,CAAA,CAAA;AAEA,qBAAsB,CAAAA,oBAAA,CAAc,kBAAkB,CAAI,GAAA;AAAA,EACtD,YAAc,EAAA;AAAA,IACV,OAAS,EAAA,OAAA;AAAA,IACT,MAAQ,EAAA,iBAAA;AAAA,GACZ;AAAA,EACA,WAAa,EAAA;AAAA,IACT,OAAS,EAAA,OAAA;AAAA,IACT,MAAQ,EAAA,iBAAA;AAAA,GACZ;AACJ,CAAA,CAAA;AAEA,qBAAsB,CAAAA,oBAAA,CAAc,qBAAqB,CAAI,GAAA;AAAA,EACzD,YAAc,EAAA;AAAA,IACV,OAAS,EAAA,OAAA;AAAA,IACT,MAAQ,EAAA,iBAAA;AAAA,GACZ;AAAA,EACA,WAAa,EAAA;AAAA,IACT,OAAS,EAAA,OAAA;AAAA,IACT,MAAQ,EAAA,iBAAA;AAAA,GACZ;AACJ,CAAA,CAAA;AAEA,qBAAsB,CAAAA,oBAAA,CAAc,WAAW,CAAI,GAAA;AAAA,EAC/C,gBAAkB,EAAA,CAAA;AAAA,EAClB,YAAc,EAAA;AAAA,IACV,OAAS,EAAA,OAAA;AAAA,IACT,MAAQ,EAAA,MAAA;AAAA,GACZ;AAAA,EACA,WAAa,EAAA;AAAA,IACT,OAAS,EAAA,OAAA;AAAA,IACT,MAAQ,EAAA,MAAA;AAAA,GACZ;AACJ,CAAA;;;;"}

View File

@@ -0,0 +1,43 @@
import { STENCIL_MODES } from '../../shared/state/const.mjs';
"use strict";
const GpuStencilModesToPixi = [];
GpuStencilModesToPixi[STENCIL_MODES.NONE] = void 0;
GpuStencilModesToPixi[STENCIL_MODES.DISABLED] = {
stencilWriteMask: 0,
stencilReadMask: 0
};
GpuStencilModesToPixi[STENCIL_MODES.RENDERING_MASK_ADD] = {
stencilFront: {
compare: "equal",
passOp: "increment-clamp"
},
stencilBack: {
compare: "equal",
passOp: "increment-clamp"
}
};
GpuStencilModesToPixi[STENCIL_MODES.RENDERING_MASK_REMOVE] = {
stencilFront: {
compare: "equal",
passOp: "decrement-clamp"
},
stencilBack: {
compare: "equal",
passOp: "decrement-clamp"
}
};
GpuStencilModesToPixi[STENCIL_MODES.MASK_ACTIVE] = {
stencilWriteMask: 0,
stencilFront: {
compare: "equal",
passOp: "keep"
},
stencilBack: {
compare: "equal",
passOp: "keep"
}
};
export { GpuStencilModesToPixi };
//# sourceMappingURL=GpuStencilModesToPixi.mjs.map

View File

@@ -0,0 +1 @@
{"version":3,"file":"GpuStencilModesToPixi.mjs","sources":["../../../../../src/rendering/renderers/gpu/state/GpuStencilModesToPixi.ts"],"sourcesContent":["import { STENCIL_MODES } from '../../shared/state/const';\n\nexport interface StencilState\n{\n stencilWriteMask?: number\n stencilReadMask?: number;\n stencilFront?: {\n compare: 'always' | 'equal';\n passOp: 'increment-clamp' | 'decrement-clamp' | 'keep';\n },\n stencilBack?: {\n compare: 'always' | 'equal';\n passOp: 'increment-clamp' | 'decrement-clamp' | 'keep';\n }\n}\n\nexport const GpuStencilModesToPixi: StencilState[] = [];\n\nGpuStencilModesToPixi[STENCIL_MODES.NONE] = undefined;\n\nGpuStencilModesToPixi[STENCIL_MODES.DISABLED] = {\n stencilWriteMask: 0,\n stencilReadMask: 0,\n};\n\nGpuStencilModesToPixi[STENCIL_MODES.RENDERING_MASK_ADD] = {\n stencilFront: {\n compare: 'equal',\n passOp: 'increment-clamp',\n },\n stencilBack: {\n compare: 'equal',\n passOp: 'increment-clamp',\n },\n};\n\nGpuStencilModesToPixi[STENCIL_MODES.RENDERING_MASK_REMOVE] = {\n stencilFront: {\n compare: 'equal',\n passOp: 'decrement-clamp',\n },\n stencilBack: {\n compare: 'equal',\n passOp: 'decrement-clamp',\n },\n};\n\nGpuStencilModesToPixi[STENCIL_MODES.MASK_ACTIVE] = {\n stencilWriteMask: 0,\n stencilFront: {\n compare: 'equal',\n passOp: 'keep',\n },\n stencilBack: {\n compare: 'equal',\n passOp: 'keep',\n },\n};\n"],"names":[],"mappings":";;;AAgBO,MAAM,wBAAwC,GAAC;AAEtD,qBAAsB,CAAA,aAAA,CAAc,IAAI,CAAI,GAAA,KAAA,CAAA,CAAA;AAE5C,qBAAsB,CAAA,aAAA,CAAc,QAAQ,CAAI,GAAA;AAAA,EAC5C,gBAAkB,EAAA,CAAA;AAAA,EAClB,eAAiB,EAAA,CAAA;AACrB,CAAA,CAAA;AAEA,qBAAsB,CAAA,aAAA,CAAc,kBAAkB,CAAI,GAAA;AAAA,EACtD,YAAc,EAAA;AAAA,IACV,OAAS,EAAA,OAAA;AAAA,IACT,MAAQ,EAAA,iBAAA;AAAA,GACZ;AAAA,EACA,WAAa,EAAA;AAAA,IACT,OAAS,EAAA,OAAA;AAAA,IACT,MAAQ,EAAA,iBAAA;AAAA,GACZ;AACJ,CAAA,CAAA;AAEA,qBAAsB,CAAA,aAAA,CAAc,qBAAqB,CAAI,GAAA;AAAA,EACzD,YAAc,EAAA;AAAA,IACV,OAAS,EAAA,OAAA;AAAA,IACT,MAAQ,EAAA,iBAAA;AAAA,GACZ;AAAA,EACA,WAAa,EAAA;AAAA,IACT,OAAS,EAAA,OAAA;AAAA,IACT,MAAQ,EAAA,iBAAA;AAAA,GACZ;AACJ,CAAA,CAAA;AAEA,qBAAsB,CAAA,aAAA,CAAc,WAAW,CAAI,GAAA;AAAA,EAC/C,gBAAkB,EAAA,CAAA;AAAA,EAClB,YAAc,EAAA;AAAA,IACV,OAAS,EAAA,OAAA;AAAA,IACT,MAAQ,EAAA,MAAA;AAAA,GACZ;AAAA,EACA,WAAa,EAAA;AAAA,IACT,OAAS,EAAA,OAAA;AAAA,IACT,MAAQ,EAAA,MAAA;AAAA,GACZ;AACJ,CAAA;;;;"}