UNPKG

3.63 kBSource Map (JSON)View Raw
1{"version":3,"file":"MultisampleSystem.mjs","sources":["../../src/framebuffer/MultisampleSystem.ts"],"sourcesContent":["import { MSAA_QUALITY } from '@pixi/constants';\nimport { extensions, ExtensionType } from '@pixi/extensions';\n\nimport type { ExtensionMetadata } from '@pixi/extensions';\nimport type { IRenderingContext } from '../IRenderer';\nimport type { Renderer } from '../Renderer';\nimport type { ISystem } from '../system/ISystem';\n\n/**\n * System that manages the multisample property on the WebGL renderer\n * @memberof PIXI\n */\nexport class MultisampleSystem implements ISystem\n{\n /** @ignore */\n static extension: ExtensionMetadata = {\n type: ExtensionType.RendererSystem,\n name: '_multisample',\n };\n\n /**\n * The number of msaa samples of the canvas.\n * @readonly\n */\n public multisample: MSAA_QUALITY;\n\n private renderer: Renderer;\n\n constructor(renderer: Renderer)\n {\n this.renderer = renderer;\n }\n\n protected contextChange(gl: IRenderingContext): void\n {\n let samples;\n\n if (this.renderer.context.webGLVersion === 1)\n {\n const framebuffer = gl.getParameter(gl.FRAMEBUFFER_BINDING);\n\n gl.bindFramebuffer(gl.FRAMEBUFFER, null);\n\n samples = gl.getParameter(gl.SAMPLES);\n\n gl.bindFramebuffer(gl.FRAMEBUFFER, framebuffer);\n }\n else\n {\n const framebuffer = gl.getParameter(gl.DRAW_FRAMEBUFFER_BINDING);\n\n gl.bindFramebuffer(gl.DRAW_FRAMEBUFFER, null);\n\n samples = gl.getParameter(gl.SAMPLES);\n\n gl.bindFramebuffer(gl.DRAW_FRAMEBUFFER, framebuffer);\n }\n\n if (samples >= MSAA_QUALITY.HIGH)\n {\n this.multisample = MSAA_QUALITY.HIGH;\n }\n else if (samples >= MSAA_QUALITY.MEDIUM)\n {\n this.multisample = MSAA_QUALITY.MEDIUM;\n }\n else if (samples >= MSAA_QUALITY.LOW)\n {\n this.multisample = MSAA_QUALITY.LOW;\n }\n else\n {\n this.multisample = MSAA_QUALITY.NONE;\n }\n }\n\n destroy(): void\n {\n // ka boom!\n }\n}\n\nextensions.add(MultisampleSystem);\n"],"names":[],"mappings":";;;AAYO,MAAM,iBACb,CAAA;AAAA,EAeI,YAAY,QACZ,EAAA;AACI,IAAA,IAAA,CAAK,QAAW,GAAA,QAAA,CAAA;AAAA,GACpB;AAAA,EAEU,cAAc,EACxB,EAAA;AACI,IAAI,IAAA,OAAA,CAAA;AAEJ,IAAA,IAAI,IAAK,CAAA,QAAA,CAAS,OAAQ,CAAA,YAAA,KAAiB,CAC3C,EAAA;AACI,MAAA,MAAM,WAAc,GAAA,EAAA,CAAG,YAAa,CAAA,EAAA,CAAG,mBAAmB,CAAA,CAAA;AAE1D,MAAG,EAAA,CAAA,eAAA,CAAgB,EAAG,CAAA,WAAA,EAAa,IAAI,CAAA,CAAA;AAEvC,MAAU,OAAA,GAAA,EAAA,CAAG,YAAa,CAAA,EAAA,CAAG,OAAO,CAAA,CAAA;AAEpC,MAAG,EAAA,CAAA,eAAA,CAAgB,EAAG,CAAA,WAAA,EAAa,WAAW,CAAA,CAAA;AAAA,KAGlD,MAAA;AACI,MAAA,MAAM,WAAc,GAAA,EAAA,CAAG,YAAa,CAAA,EAAA,CAAG,wBAAwB,CAAA,CAAA;AAE/D,MAAG,EAAA,CAAA,eAAA,CAAgB,EAAG,CAAA,gBAAA,EAAkB,IAAI,CAAA,CAAA;AAE5C,MAAU,OAAA,GAAA,EAAA,CAAG,YAAa,CAAA,EAAA,CAAG,OAAO,CAAA,CAAA;AAEpC,MAAG,EAAA,CAAA,eAAA,CAAgB,EAAG,CAAA,gBAAA,EAAkB,WAAW,CAAA,CAAA;AAAA,KACvD;AAEA,IAAI,IAAA,OAAA,IAAW,aAAa,IAC5B,EAAA;AACI,MAAA,IAAA,CAAK,cAAc,YAAa,CAAA,IAAA,CAAA;AAAA,KACpC,MAAA,IACS,OAAW,IAAA,YAAA,CAAa,MACjC,EAAA;AACI,MAAA,IAAA,CAAK,cAAc,YAAa,CAAA,MAAA,CAAA;AAAA,KACpC,MAAA,IACS,OAAW,IAAA,YAAA,CAAa,GACjC,EAAA;AACI,MAAA,IAAA,CAAK,cAAc,YAAa,CAAA,GAAA,CAAA;AAAA,KAGpC,MAAA;AACI,MAAA,IAAA,CAAK,cAAc,YAAa,CAAA,IAAA,CAAA;AAAA,KACpC;AAAA,GACJ;AAAA,EAEA,OACA,GAAA;AAAA,GAEA;AACJ,CAAA;AApEa,kBAGF,SAA+B,GAAA;AAAA,EAClC,MAAM,aAAc,CAAA,cAAA;AAAA,EACpB,IAAM,EAAA,cAAA;AACV,CAAA,CAAA;AAgEJ,UAAA,CAAW,IAAI,iBAAiB,CAAA;;;;"}
\No newline at end of file