shadow$provide.module$node_modules$pixi_DOT_js$lib$scene$graphics$gl$GlGraphicsAdaptor = function(global, require, module, exports) { global = require("module$node_modules$pixi_DOT_js$lib$extensions$Extensions"); var Matrix = require("module$node_modules$pixi_DOT_js$lib$maths$matrix$Matrix"), compileHighShaderToProgram = require("module$node_modules$pixi_DOT_js$lib$rendering$high_shader$compileHighShaderToProgram"), colorBit = require("module$node_modules$pixi_DOT_js$lib$rendering$high_shader$shader_bits$colorBit"), generateTextureBatchBit = require("module$node_modules$pixi_DOT_js$lib$rendering$high_shader$shader_bits$generateTextureBatchBit"), localUniformBit = require("module$node_modules$pixi_DOT_js$lib$rendering$high_shader$shader_bits$localUniformBit"), roundPixelsBit = require("module$node_modules$pixi_DOT_js$lib$rendering$high_shader$shader_bits$roundPixelsBit"), getBatchSamplersUniformGroup = require("module$node_modules$pixi_DOT_js$lib$rendering$renderers$gl$shader$getBatchSamplersUniformGroup"), Shader = require("module$node_modules$pixi_DOT_js$lib$rendering$renderers$shared$shader$Shader"), UniformGroup = require("module$node_modules$pixi_DOT_js$lib$rendering$renderers$shared$shader$UniformGroup"); "use strict"; class GlGraphicsAdaptor { contextChange(renderer) { const uniforms = new UniformGroup.UniformGroup({uColor:{value:new Float32Array([1, 1, 1, 1]), type:"vec4\x3cf32\x3e"}, uTransformMatrix:{value:new Matrix.Matrix(), type:"mat3x3\x3cf32\x3e"}, uRound:{value:0, type:"f32"}}); renderer = renderer.limits.maxBatchableTextures; const glProgram = compileHighShaderToProgram.compileHighShaderGlProgram({name:"graphics", bits:[colorBit.colorBitGl, generateTextureBatchBit.generateTextureBatchBitGl(renderer), localUniformBit.localUniformBitGl, roundPixelsBit.roundPixelsBitGl]}); this.shader = new Shader.Shader({glProgram, resources:{localUniforms:uniforms, batchSamplers:getBatchSamplersUniformGroup.getBatchSamplersUniformGroup(renderer)}}); } execute(graphicsPipe, renderable) { var context = renderable.context, shader = context.customShader || this.shader; renderable = graphicsPipe.renderer; const {batcher, instructions} = renderable.graphicsContext.getContextRenderData(context); shader.groups[0] = renderable.globalUniforms.bindGroup; renderable.state.set(graphicsPipe.state); renderable.shader.bind(shader); renderable.geometry.bind(batcher.geometry, shader.glProgram); graphicsPipe = instructions.instructions; for (context = 0; context < instructions.instructionSize; context++) { if (shader = graphicsPipe[context], shader.size) { for (let j = 0; j < shader.textures.count; j++) { renderable.texture.bind(shader.textures.textures[j], j); } renderable.geometry.draw(shader.topology, shader.size, shader.start); } } } destroy() { this.shader.destroy(!0); this.shader = null; } } GlGraphicsAdaptor.extension = {type:[global.ExtensionType.WebGLPipesAdaptor], name:"graphics"}; exports.GlGraphicsAdaptor = GlGraphicsAdaptor; }; //# sourceMappingURL=module$node_modules$pixi_DOT_js$lib$scene$graphics$gl$GlGraphicsAdaptor.js.map