pixi.js
Version:
<p align="center"> <a href="https://pixijs.com" target="_blank" rel="noopener noreferrer"> <img height="150" src="https://files.pixijs.download/branding/pixijs-logo-transparent-dark.svg?v=1" alt="PixiJS logo"> </a> </p> <br/> <p align="center">
42 lines (39 loc) • 932 B
JavaScript
import { ExtensionType } from '../../../../extensions/Extensions.mjs';
import { State } from '../../shared/state/State.mjs';
import { GpuBlendModesToPixi } from './GpuBlendModesToPixi.mjs';
;
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