UNPKG

pixi.js

Version:

<p align="center"> <a href="https://pixijs.com" target="_blank" rel="noopener noreferrer"> <img height="150" src="https://files.pixijs.download/branding/pixijs-logo-transparent-dark.svg?v=1" alt="PixiJS logo"> </a> </p> <br/> <p align="center">

40 lines (36 loc) 1.34 kB
'use strict'; var uniformParsers = require('../../rendering/renderers/shared/shader/utils/uniformParsers.js'); var uniformSyncFunctions = require('./uniformSyncFunctions.js'); "use strict"; function generateUniformsSyncPolyfill(group, uniformData) { const functionMap = {}; for (const i in group.uniformStructures) { if (!uniformData[i]) continue; const uniform = group.uniformStructures[i]; let parsed = false; for (let j = 0; j < uniformParsers.uniformParsers.length; j++) { const parser = uniformParsers.uniformParsers[j]; if (uniform.type === parser.type && parser.test(uniform)) { functionMap[i] = uniformSyncFunctions.uniformParserFunctions[j]; parsed = true; break; } } if (!parsed) { const templateType = uniform.size === 1 ? uniformSyncFunctions.uniformSingleParserFunctions : uniformSyncFunctions.uniformArrayParserFunctions; functionMap[i] = templateType[uniform.type]; } } return (ud, uv, renderer) => { const gl = renderer.gl; for (const i in functionMap) { const v = uv[i]; const cu = ud[i]; const cv = ud[i].value; functionMap[i](i, cu, cv, v, ud, uv, gl); } }; } exports.generateUniformsSyncPolyfill = generateUniformsSyncPolyfill; //# sourceMappingURL=generateUniformsSyncPolyfill.js.map