UNPKG

@pixi/core

Version:
42 lines (39 loc) 1.32 kB
import { MSAA_QUALITY } from '@pixi/constants'; import { ExtensionType, extensions } from '@pixi/extensions'; class MultisampleSystem { constructor(renderer) { this.renderer = renderer; } contextChange(gl) { let samples; if (this.renderer.context.webGLVersion === 1) { const framebuffer = gl.getParameter(gl.FRAMEBUFFER_BINDING); gl.bindFramebuffer(gl.FRAMEBUFFER, null); samples = gl.getParameter(gl.SAMPLES); gl.bindFramebuffer(gl.FRAMEBUFFER, framebuffer); } else { const framebuffer = gl.getParameter(gl.DRAW_FRAMEBUFFER_BINDING); gl.bindFramebuffer(gl.DRAW_FRAMEBUFFER, null); samples = gl.getParameter(gl.SAMPLES); gl.bindFramebuffer(gl.DRAW_FRAMEBUFFER, framebuffer); } if (samples >= MSAA_QUALITY.HIGH) { this.multisample = MSAA_QUALITY.HIGH; } else if (samples >= MSAA_QUALITY.MEDIUM) { this.multisample = MSAA_QUALITY.MEDIUM; } else if (samples >= MSAA_QUALITY.LOW) { this.multisample = MSAA_QUALITY.LOW; } else { this.multisample = MSAA_QUALITY.NONE; } } destroy() { } } MultisampleSystem.extension = { type: ExtensionType.RendererSystem, name: "_multisample" }; extensions.add(MultisampleSystem); export { MultisampleSystem }; //# sourceMappingURL=MultisampleSystem.mjs.map