UNPKG

1.27 kBJavaScriptView Raw
1import { settings } from '@pixi/settings';
2import { Program } from '../shader/Program.mjs';
3import { Shader } from '../shader/Shader.mjs';
4import { State } from '../state/State.mjs';
5import defaultFragment from './defaultFilter.mjs';
6import defaultVertex from './defaultFilter2.mjs';
7
8class Filter extends Shader {
9 constructor(vertexSrc, fragmentSrc, uniforms) {
10 const program = Program.from(vertexSrc || Filter.defaultVertexSrc, fragmentSrc || Filter.defaultFragmentSrc);
11 super(program, uniforms);
12 this.padding = 0;
13 this.resolution = settings.FILTER_RESOLUTION;
14 this.multisample = settings.FILTER_MULTISAMPLE;
15 this.enabled = true;
16 this.autoFit = true;
17 this.state = new State();
18 }
19 apply(filterManager, input, output, clearMode, _currentState) {
20 filterManager.applyFilter(this, input, output, clearMode);
21 }
22 get blendMode() {
23 return this.state.blendMode;
24 }
25 set blendMode(value) {
26 this.state.blendMode = value;
27 }
28 get resolution() {
29 return this._resolution;
30 }
31 set resolution(value) {
32 this._resolution = value;
33 }
34 static get defaultVertexSrc() {
35 return defaultVertex;
36 }
37 static get defaultFragmentSrc() {
38 return defaultFragment;
39 }
40}
41
42export { Filter };
43//# sourceMappingURL=Filter.mjs.map