@pixi/core
Version:
Core PixiJS
1 lines • 1.73 kB
Source Map (JSON)
{"version":3,"file":"getUniformData.mjs","sources":["../../../src/shader/utils/getUniformData.ts"],"sourcesContent":["import { defaultValue } from './defaultValue';\nimport { mapType } from './mapType';\n\nimport type { IUniformData } from '../Program';\n\n/**\n * returns the uniform data from the program\n * @private\n * @param program - the webgl program\n * @param gl - the WebGL context\n * @returns {object} the uniform data for this program\n */\nexport function getUniformData(program: WebGLProgram, gl: WebGLRenderingContextBase): {[key: string]: IUniformData}\n{\n const uniforms: {[key: string]: IUniformData} = {};\n\n const totalUniforms = gl.getProgramParameter(program, gl.ACTIVE_UNIFORMS);\n\n for (let i = 0; i < totalUniforms; i++)\n {\n const uniformData = gl.getActiveUniform(program, i);\n const name = uniformData.name.replace(/\\[.*?\\]$/, '');\n\n const isArray = !!(uniformData.name.match(/\\[.*?\\]$/));\n\n const type = mapType(gl, uniformData.type);\n\n uniforms[name] = {\n name,\n index: i,\n type,\n size: uniformData.size,\n isArray,\n value: defaultValue(type, uniformData.size),\n };\n }\n\n return uniforms;\n}\n"],"names":[],"mappings":";;AAYgB,SAAA,eAAe,SAAuB,IACtD;AACU,QAAA,WAA0C,CAE1C,GAAA,gBAAgB,GAAG,oBAAoB,SAAS,GAAG,eAAe;AAExE,WAAS,IAAI,GAAG,IAAI,eAAe,KACnC;AACU,UAAA,cAAc,GAAG,iBAAiB,SAAS,CAAC,GAC5C,OAAO,YAAY,KAAK,QAAQ,YAAY,EAAE,GAE9C,UAAU,CAAC,CAAE,YAAY,KAAK,MAAM,UAAU,GAE9C,OAAO,QAAQ,IAAI,YAAY,IAAI;AAEzC,aAAS,IAAI,IAAI;AAAA,MACb;AAAA,MACA,OAAO;AAAA,MACP;AAAA,MACA,MAAM,YAAY;AAAA,MAClB;AAAA,MACA,OAAO,aAAa,MAAM,YAAY,IAAI;AAAA,IAAA;AAAA,EAElD;AAEO,SAAA;AACX;"}