UNPKG

1.32 kBJavaScriptView Raw
1import { MSAA_QUALITY } from '@pixi/constants';
2import { ExtensionType, extensions } from '@pixi/extensions';
3
4class MultisampleSystem {
5 constructor(renderer) {
6 this.renderer = renderer;
7 }
8 contextChange(gl) {
9 let samples;
10 if (this.renderer.context.webGLVersion === 1) {
11 const framebuffer = gl.getParameter(gl.FRAMEBUFFER_BINDING);
12 gl.bindFramebuffer(gl.FRAMEBUFFER, null);
13 samples = gl.getParameter(gl.SAMPLES);
14 gl.bindFramebuffer(gl.FRAMEBUFFER, framebuffer);
15 } else {
16 const framebuffer = gl.getParameter(gl.DRAW_FRAMEBUFFER_BINDING);
17 gl.bindFramebuffer(gl.DRAW_FRAMEBUFFER, null);
18 samples = gl.getParameter(gl.SAMPLES);
19 gl.bindFramebuffer(gl.DRAW_FRAMEBUFFER, framebuffer);
20 }
21 if (samples >= MSAA_QUALITY.HIGH) {
22 this.multisample = MSAA_QUALITY.HIGH;
23 } else if (samples >= MSAA_QUALITY.MEDIUM) {
24 this.multisample = MSAA_QUALITY.MEDIUM;
25 } else if (samples >= MSAA_QUALITY.LOW) {
26 this.multisample = MSAA_QUALITY.LOW;
27 } else {
28 this.multisample = MSAA_QUALITY.NONE;
29 }
30 }
31 destroy() {
32 }
33}
34MultisampleSystem.extension = {
35 type: ExtensionType.RendererSystem,
36 name: "_multisample"
37};
38extensions.add(MultisampleSystem);
39
40export { MultisampleSystem };
41//# sourceMappingURL=MultisampleSystem.mjs.map