Files
nothoughts/node_modules/pixi.js/lib/scene/graphics/gl/GlGraphicsAdaptor.mjs.map
2025-08-04 18:57:35 +02:00

1 line
6.0 KiB
Plaintext

{"version":3,"file":"GlGraphicsAdaptor.mjs","sources":["../../../../src/scene/graphics/gl/GlGraphicsAdaptor.ts"],"sourcesContent":["import { ExtensionType } from '../../../extensions/Extensions';\nimport { Matrix } from '../../../maths/matrix/Matrix';\nimport { getMaxTexturesPerBatch } from '../../../rendering/batcher/gl/utils/maxRecommendedTextures';\nimport { compileHighShaderGlProgram } from '../../../rendering/high-shader/compileHighShaderToProgram';\nimport { colorBitGl } from '../../../rendering/high-shader/shader-bits/colorBit';\nimport { generateTextureBatchBitGl } from '../../../rendering/high-shader/shader-bits/generateTextureBatchBit';\nimport { localUniformBitGl } from '../../../rendering/high-shader/shader-bits/localUniformBit';\nimport { roundPixelsBitGl } from '../../../rendering/high-shader/shader-bits/roundPixelsBit';\nimport { getBatchSamplersUniformGroup } from '../../../rendering/renderers/gl/shader/getBatchSamplersUniformGroup';\nimport { Shader } from '../../../rendering/renderers/shared/shader/Shader';\nimport { UniformGroup } from '../../../rendering/renderers/shared/shader/UniformGroup';\n\nimport type { Batch } from '../../../rendering/batcher/shared/Batcher';\nimport type { WebGLRenderer } from '../../../rendering/renderers/gl/WebGLRenderer';\nimport type { Graphics } from '../shared/Graphics';\nimport type { GraphicsAdaptor, GraphicsPipe } from '../shared/GraphicsPipe';\n\n/**\n * A GraphicsAdaptor that uses WebGL to render graphics.\n * @memberof rendering\n * @ignore\n */\nexport class GlGraphicsAdaptor implements GraphicsAdaptor\n{\n /** @ignore */\n public static extension = {\n type: [\n ExtensionType.WebGLPipesAdaptor,\n ],\n name: 'graphics',\n } as const;\n\n public shader: Shader;\n\n public init()\n {\n const uniforms = new UniformGroup({\n uColor: { value: new Float32Array([1, 1, 1, 1]), type: 'vec4<f32>' },\n uTransformMatrix: { value: new Matrix(), type: 'mat3x3<f32>' },\n uRound: { value: 0, type: 'f32' },\n });\n\n const maxTextures = getMaxTexturesPerBatch();\n\n const glProgram = compileHighShaderGlProgram({\n name: 'graphics',\n bits: [\n colorBitGl,\n generateTextureBatchBitGl(maxTextures),\n localUniformBitGl,\n roundPixelsBitGl,\n ]\n });\n\n this.shader = new Shader({\n glProgram,\n resources: {\n localUniforms: uniforms,\n batchSamplers: getBatchSamplersUniformGroup(maxTextures),\n }\n });\n }\n\n public execute(graphicsPipe: GraphicsPipe, renderable: Graphics): void\n {\n const context = renderable.context;\n const shader = context.customShader || this.shader;\n const renderer = graphicsPipe.renderer as WebGLRenderer;\n const contextSystem = renderer.graphicsContext;\n\n const {\n batcher, instructions,\n } = contextSystem.getContextRenderData(context);\n\n // WebGL specific..\n shader.groups[0] = renderer.globalUniforms.bindGroup;\n\n renderer.state.set(graphicsPipe.state);\n\n renderer.shader.bind(shader);\n\n renderer.geometry.bind(batcher.geometry, shader.glProgram);\n\n const batches = instructions.instructions as Batch[];\n\n for (let i = 0; i < instructions.instructionSize; i++)\n {\n const batch = batches[i];\n\n if (batch.size)\n {\n for (let j = 0; j < batch.textures.count; j++)\n {\n renderer.texture.bind(batch.textures.textures[j], j);\n }\n\n renderer.geometry.draw('triangle-list', batch.size, batch.start);\n }\n }\n }\n\n public destroy(): void\n {\n this.shader.destroy(true);\n this.shader = null;\n }\n}\n"],"names":[],"mappings":"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"}