@pixi/core
Version:
Core PixiJS
42 lines (39 loc) • 1.32 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);
}
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