{"version":3,"file":"defaultValue.mjs","sources":["../../../../../../src/rendering/renderers/gl/shader/program/defaultValue.ts"],"sourcesContent":["function booleanArray(size: number): Array<boolean>\n{\n    const array = new Array(size);\n\n    for (let i = 0; i < array.length; i++)\n    {\n        array[i] = false;\n    }\n\n    return array;\n}\n\n/**\n * @param {string} type - Type of value\n * @param {number} size\n * @private\n */\nexport function defaultValue(\n    type: string,\n    size: number\n): number | Float32Array | Int32Array | Uint32Array | boolean | boolean[]\n{\n    switch (type)\n    {\n        case 'float':\n            return 0;\n\n        case 'vec2':\n            return new Float32Array(2 * size);\n\n        case 'vec3':\n            return new Float32Array(3 * size);\n\n        case 'vec4':\n            return new Float32Array(4 * size);\n\n        case 'int':\n        case 'uint':\n        case 'sampler2D':\n        case 'sampler2DArray':\n            return 0;\n\n        case 'ivec2':\n            return new Int32Array(2 * size);\n\n        case 'ivec3':\n            return new Int32Array(3 * size);\n\n        case 'ivec4':\n            return new Int32Array(4 * size);\n\n        case 'uvec2':\n            return new Uint32Array(2 * size);\n\n        case 'uvec3':\n            return new Uint32Array(3 * size);\n\n        case 'uvec4':\n            return new Uint32Array(4 * size);\n\n        case 'bool':\n            return false;\n\n        case 'bvec2':\n\n            return booleanArray(2 * size);\n\n        case 'bvec3':\n            return booleanArray(3 * size);\n\n        case 'bvec4':\n            return booleanArray(4 * size);\n\n        case 'mat2':\n            return new Float32Array([1, 0,\n                0, 1]);\n\n        case 'mat3':\n            return new Float32Array([1, 0, 0,\n                0, 1, 0,\n                0, 0, 1]);\n\n        case 'mat4':\n            return new Float32Array([1, 0, 0, 0,\n                0, 1, 0, 0,\n                0, 0, 1, 0,\n                0, 0, 0, 1]);\n    }\n\n    return null;\n}\n"],"names":[],"mappings":";AAAA,SAAS,aAAa,IAAA,EACtB;AACI,EAAA,MAAM,KAAA,GAAQ,IAAI,KAAA,CAAM,IAAI,CAAA;AAE5B,EAAA,KAAA,IAAS,CAAA,GAAI,CAAA,EAAG,CAAA,GAAI,KAAA,CAAM,QAAQ,CAAA,EAAA,EAClC;AACI,IAAA,KAAA,CAAM,CAAC,CAAA,GAAI,KAAA;AAAA,EACf;AAEA,EAAA,OAAO,KAAA;AACX;AAOO,SAAS,YAAA,CACZ,MACA,IAAA,EAEJ;AACI,EAAA,QAAQ,IAAA;AACR,IACI,KAAK,OAAA;AACD,MAAA,OAAO,CAAA;AAAA,IAEX,KAAK,MAAA;AACD,MAAA,OAAO,IAAI,YAAA,CAAa,CAAA,GAAI,IAAI,CAAA;AAAA,IAEpC,KAAK,MAAA;AACD,MAAA,OAAO,IAAI,YAAA,CAAa,CAAA,GAAI,IAAI,CAAA;AAAA,IAEpC,KAAK,MAAA;AACD,MAAA,OAAO,IAAI,YAAA,CAAa,CAAA,GAAI,IAAI,CAAA;AAAA,IAEpC,KAAK,KAAA;AAAA,IACL,KAAK,MAAA;AAAA,IACL,KAAK,WAAA;AAAA,IACL,KAAK,gBAAA;AACD,MAAA,OAAO,CAAA;AAAA,IAEX,KAAK,OAAA;AACD,MAAA,OAAO,IAAI,UAAA,CAAW,CAAA,GAAI,IAAI,CAAA;AAAA,IAElC,KAAK,OAAA;AACD,MAAA,OAAO,IAAI,UAAA,CAAW,CAAA,GAAI,IAAI,CAAA;AAAA,IAElC,KAAK,OAAA;AACD,MAAA,OAAO,IAAI,UAAA,CAAW,CAAA,GAAI,IAAI,CAAA;AAAA,IAElC,KAAK,OAAA;AACD,MAAA,OAAO,IAAI,WAAA,CAAY,CAAA,GAAI,IAAI,CAAA;AAAA,IAEnC,KAAK,OAAA;AACD,MAAA,OAAO,IAAI,WAAA,CAAY,CAAA,GAAI,IAAI,CAAA;AAAA,IAEnC,KAAK,OAAA;AACD,MAAA,OAAO,IAAI,WAAA,CAAY,CAAA,GAAI,IAAI,CAAA;AAAA,IAEnC,KAAK,MAAA;AACD,MAAA,OAAO,KAAA;AAAA,IAEX,KAAK,OAAA;AAED,MAAA,OAAO,YAAA,CAAa,IAAI,IAAI,CAAA;AAAA,IAEhC,KAAK,OAAA;AACD,MAAA,OAAO,YAAA,CAAa,IAAI,IAAI,CAAA;AAAA,IAEhC,KAAK,OAAA;AACD,MAAA,OAAO,YAAA,CAAa,IAAI,IAAI,CAAA;AAAA,IAEhC,KAAK,MAAA;AACD,MAAA,OAAO,IAAI,YAAA,CAAa;AAAA,QAAC,CAAA;AAAA,QAAG,CAAA;AAAA,QACxB,CAAA;AAAA,QAAG;AAAA,OAAE,CAAA;AAAA,IAEb,KAAK,MAAA;AACD,MAAA,OAAO,IAAI,YAAA,CAAa;AAAA,QAAC,CAAA;AAAA,QAAG,CAAA;AAAA,QAAG,CAAA;AAAA,QAC3B,CAAA;AAAA,QAAG,CAAA;AAAA,QAAG,CAAA;AAAA,QACN,CAAA;AAAA,QAAG,CAAA;AAAA,QAAG;AAAA,OAAE,CAAA;AAAA,IAEhB,KAAK,MAAA;AACD,MAAA,OAAO,IAAI,YAAA,CAAa;AAAA,QAAC,CAAA;AAAA,QAAG,CAAA;AAAA,QAAG,CAAA;AAAA,QAAG,CAAA;AAAA,QAC9B,CAAA;AAAA,QAAG,CAAA;AAAA,QAAG,CAAA;AAAA,QAAG,CAAA;AAAA,QACT,CAAA;AAAA,QAAG,CAAA;AAAA,QAAG,CAAA;AAAA,QAAG,CAAA;AAAA,QACT,CAAA;AAAA,QAAG,CAAA;AAAA,QAAG,CAAA;AAAA,QAAG;AAAA,OAAE,CAAA;AAAA;AAGvB,EAAA,OAAO,IAAA;AACX;;;;"}