@pixi/core
Version:
Core PixiJS
30 lines (29 loc) • 1.22 kB
JavaScript
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);
}
samples >= MSAA_QUALITY.HIGH ? this.multisample = MSAA_QUALITY.HIGH : samples >= MSAA_QUALITY.MEDIUM ? this.multisample = MSAA_QUALITY.MEDIUM : samples >= MSAA_QUALITY.LOW ? this.multisample = MSAA_QUALITY.LOW : this.multisample = MSAA_QUALITY.NONE;
}
destroy() {
}
}
MultisampleSystem.extension = {
type: ExtensionType.RendererSystem,
name: "_multisample"
};
extensions.add(MultisampleSystem);
export {
MultisampleSystem
};
//# sourceMappingURL=MultisampleSystem.mjs.map