1 line
3.1 KiB
Plaintext
1 line
3.1 KiB
Plaintext
{"version":3,"file":"GlEncoderSystem.mjs","sources":["../../../../src/rendering/renderers/gl/GlEncoderSystem.ts"],"sourcesContent":["import { ExtensionType } from '../../../extensions/Extensions';\n\nimport type { Topology } from '../shared/geometry/const';\nimport type { Geometry } from '../shared/geometry/Geometry';\nimport type { Shader } from '../shared/shader/Shader';\nimport type { State } from '../shared/state/State';\nimport type { System } from '../shared/system/System';\nimport type { WebGLRenderer } from './WebGLRenderer';\n\n/**\n * The system that handles encoding commands for the WebGL.\n * @memberof rendering\n */\nexport class GlEncoderSystem implements System\n{\n /** @ignore */\n public static extension = {\n type: [\n ExtensionType.WebGLSystem,\n ],\n name: 'encoder',\n } as const;\n\n public readonly commandFinished = Promise.resolve();\n private readonly _renderer: WebGLRenderer;\n\n constructor(renderer: WebGLRenderer)\n {\n this._renderer = renderer;\n }\n\n public setGeometry(geometry: Geometry, shader?: Shader)\n {\n this._renderer.geometry.bind(geometry, shader.glProgram);\n }\n\n public finishRenderPass()\n {\n // noop\n }\n\n public draw(options: {\n geometry: Geometry,\n shader: Shader,\n state?: State,\n topology?: Topology,\n size?: number,\n start?: number,\n instanceCount?: number\n skipSync?: boolean,\n })\n {\n const renderer = this._renderer;\n const { geometry, shader, state, skipSync, topology: type, size, start, instanceCount } = options;\n\n renderer.shader.bind(shader, skipSync);\n\n renderer.geometry.bind(geometry, renderer.shader._activeProgram);\n\n if (state)\n {\n renderer.state.set(state);\n }\n\n renderer.geometry.draw(type, size, start, instanceCount ?? geometry.instanceCount);\n }\n\n public destroy()\n {\n (this._renderer as null) = null;\n }\n}\n"],"names":[],"mappings":";;;AAaO,MAAM,eACb,CAAA;AAAA,EAYI,YAAY,QACZ,EAAA;AAJA,IAAgB,IAAA,CAAA,eAAA,GAAkB,QAAQ,OAAQ,EAAA,CAAA;AAK9C,IAAA,IAAA,CAAK,SAAY,GAAA,QAAA,CAAA;AAAA,GACrB;AAAA,EAEO,WAAA,CAAY,UAAoB,MACvC,EAAA;AACI,IAAA,IAAA,CAAK,SAAU,CAAA,QAAA,CAAS,IAAK,CAAA,QAAA,EAAU,OAAO,SAAS,CAAA,CAAA;AAAA,GAC3D;AAAA,EAEO,gBACP,GAAA;AAAA,GAEA;AAAA,EAEO,KAAK,OAUZ,EAAA;AACI,IAAA,MAAM,WAAW,IAAK,CAAA,SAAA,CAAA;AACtB,IAAM,MAAA,EAAE,QAAU,EAAA,MAAA,EAAQ,KAAO,EAAA,QAAA,EAAU,UAAU,IAAM,EAAA,IAAA,EAAM,KAAO,EAAA,aAAA,EAAkB,GAAA,OAAA,CAAA;AAE1F,IAAS,QAAA,CAAA,MAAA,CAAO,IAAK,CAAA,MAAA,EAAQ,QAAQ,CAAA,CAAA;AAErC,IAAA,QAAA,CAAS,QAAS,CAAA,IAAA,CAAK,QAAU,EAAA,QAAA,CAAS,OAAO,cAAc,CAAA,CAAA;AAE/D,IAAA,IAAI,KACJ,EAAA;AACI,MAAS,QAAA,CAAA,KAAA,CAAM,IAAI,KAAK,CAAA,CAAA;AAAA,KAC5B;AAEA,IAAA,QAAA,CAAS,SAAS,IAAK,CAAA,IAAA,EAAM,MAAM,KAAO,EAAA,aAAA,IAAiB,SAAS,aAAa,CAAA,CAAA;AAAA,GACrF;AAAA,EAEO,OACP,GAAA;AACI,IAAC,KAAK,SAAqB,GAAA,IAAA,CAAA;AAAA,GAC/B;AACJ,CAAA;AAAA;AA1Da,eAAA,CAGK,SAAY,GAAA;AAAA,EACtB,IAAM,EAAA;AAAA,IACF,aAAc,CAAA,WAAA;AAAA,GAClB;AAAA,EACA,IAAM,EAAA,SAAA;AACV,CAAA;;;;"} |