{"ast":null,"code":"/** @internal */\nexport class WebGLPipelineContext {\n constructor() {\n this._valueCache = {};\n this.vertexCompilationError = null;\n this.fragmentCompilationError = null;\n this.programLinkError = null;\n this.programValidationError = null;\n /** @internal */\n this._isDisposed = false;\n }\n get isAsync() {\n return this.isParallelCompiled;\n }\n get isReady() {\n if (this.program) {\n if (this.isParallelCompiled) {\n return this.engine._isRenderingStateCompiled(this);\n }\n return true;\n }\n return false;\n }\n _handlesSpectorRebuildCallback(onCompiled) {\n if (onCompiled && this.program) {\n onCompiled(this.program);\n }\n }\n setEngine(engine) {\n this.engine = engine;\n }\n _fillEffectInformation(effect, uniformBuffersNames, uniformsNames, uniforms, samplerList, samplers, attributesNames, attributes) {\n const engine = this.engine;\n if (engine.supportsUniformBuffers) {\n for (const name in uniformBuffersNames) {\n effect.bindUniformBlock(name, uniformBuffersNames[name]);\n }\n }\n const effectAvailableUniforms = this.engine.getUniforms(this, uniformsNames);\n effectAvailableUniforms.forEach((uniform, index) => {\n uniforms[uniformsNames[index]] = uniform;\n });\n this._uniforms = uniforms;\n let index;\n for (index = 0; index < samplerList.length; index++) {\n const sampler = effect.getUniform(samplerList[index]);\n if (sampler == null) {\n samplerList.splice(index, 1);\n index--;\n }\n }\n samplerList.forEach((name, index) => {\n samplers[name] = index;\n });\n for (const attr of engine.getAttributes(this, attributesNames)) {\n attributes.push(attr);\n }\n }\n /**\n * Release all associated resources.\n **/\n dispose() {\n this._uniforms = {};\n this._isDisposed = true;\n }\n /**\n * @internal\n */\n _cacheMatrix(uniformName, matrix) {\n const cache = this._valueCache[uniformName];\n const flag = matrix.updateFlag;\n if (cache !== undefined && cache === flag) {\n return false;\n }\n this._valueCache[uniformName] = flag;\n return true;\n }\n /**\n * @internal\n */\n _cacheFloat2(uniformName, x, y) {\n let cache = this._valueCache[uniformName];\n if (!cache || cache.length !== 2) {\n cache = [x, y];\n this._valueCache[uniformName] = cache;\n return true;\n }\n let changed = false;\n if (cache[0] !== x) {\n cache[0] = x;\n changed = true;\n }\n if (cache[1] !== y) {\n cache[1] = y;\n changed = true;\n }\n return changed;\n }\n /**\n * @internal\n */\n _cacheFloat3(uniformName, x, y, z) {\n let cache = this._valueCache[uniformName];\n if (!cache || cache.length !== 3) {\n cache = [x, y, z];\n this._valueCache[uniformName] = cache;\n return true;\n }\n let changed = false;\n if (cache[0] !== x) {\n cache[0] = x;\n changed = true;\n }\n if (cache[1] !== y) {\n cache[1] = y;\n changed = true;\n }\n if (cache[2] !== z) {\n cache[2] = z;\n changed = true;\n }\n return changed;\n }\n /**\n * @internal\n */\n _cacheFloat4(uniformName, x, y, z, w) {\n let cache = this._valueCache[uniformName];\n if (!cache || cache.length !== 4) {\n cache = [x, y, z, w];\n this._valueCache[uniformName] = cache;\n return true;\n }\n let changed = false;\n if (cache[0] !== x) {\n cache[0] = x;\n changed = true;\n }\n if (cache[1] !== y) {\n cache[1] = y;\n changed = true;\n }\n if (cache[2] !== z) {\n cache[2] = z;\n changed = true;\n }\n if (cache[3] !== w) {\n cache[3] = w;\n changed = true;\n }\n return changed;\n }\n /**\n * Sets an integer value on a uniform variable.\n * @param uniformName Name of the variable.\n * @param value Value to be set.\n */\n setInt(uniformName, value) {\n const cache = this._valueCache[uniformName];\n if (cache !== undefined && cache === value) {\n return;\n }\n if (this.engine.setInt(this._uniforms[uniformName], value)) {\n this._valueCache[uniformName] = value;\n }\n }\n /**\n * Sets a int2 on a uniform variable.\n * @param uniformName Name of the variable.\n * @param x First int in int2.\n * @param y Second int in int2.\n */\n setInt2(uniformName, x, y) {\n if (this._cacheFloat2(uniformName, x, y)) {\n if (!this.engine.setInt2(this._uniforms[uniformName], x, y)) {\n this._valueCache[uniformName] = null;\n }\n }\n }\n /**\n * Sets a int3 on a uniform variable.\n * @param uniformName Name of the variable.\n * @param x First int in int3.\n * @param y Second int in int3.\n * @param z Third int in int3.\n */\n setInt3(uniformName, x, y, z) {\n if (this._cacheFloat3(uniformName, x, y, z)) {\n if (!this.engine.setInt3(this._uniforms[uniformName], x, y, z)) {\n this._valueCache[uniformName] = null;\n }\n }\n }\n /**\n * Sets a int4 on a uniform variable.\n * @param uniformName Name of the variable.\n * @param x First int in int4.\n * @param y Second int in int4.\n * @param z Third int in int4.\n * @param w Fourth int in int4.\n */\n setInt4(uniformName, x, y, z, w) {\n if (this._cacheFloat4(uniformName, x, y, z, w)) {\n if (!this.engine.setInt4(this._uniforms[uniformName], x, y, z, w)) {\n this._valueCache[uniformName] = null;\n }\n }\n }\n /**\n * Sets an int array on a uniform variable.\n * @param uniformName Name of the variable.\n * @param array array to be set.\n */\n setIntArray(uniformName, array) {\n this._valueCache[uniformName] = null;\n this.engine.setIntArray(this._uniforms[uniformName], array);\n }\n /**\n * Sets an int array 2 on a uniform variable. (Array is specified as single array eg. [1,2,3,4] will result in [[1,2],[3,4]] in the shader)\n * @param uniformName Name of the variable.\n * @param array array to be set.\n */\n setIntArray2(uniformName, array) {\n this._valueCache[uniformName] = null;\n this.engine.setIntArray2(this._uniforms[uniformName], array);\n }\n /**\n * Sets an int array 3 on a uniform variable. (Array is specified as single array eg. [1,2,3,4,5,6] will result in [[1,2,3],[4,5,6]] in the shader)\n * @param uniformName Name of the variable.\n * @param array array to be set.\n */\n setIntArray3(uniformName, array) {\n this._valueCache[uniformName] = null;\n this.engine.setIntArray3(this._uniforms[uniformName], array);\n }\n /**\n * Sets an int array 4 on a uniform variable. (Array is specified as single array eg. [1,2,3,4,5,6,7,8] will result in [[1,2,3,4],[5,6,7,8]] in the shader)\n * @param uniformName Name of the variable.\n * @param array array to be set.\n */\n setIntArray4(uniformName, array) {\n this._valueCache[uniformName] = null;\n this.engine.setIntArray4(this._uniforms[uniformName], array);\n }\n /**\n * Sets an unsigned integer value on a uniform variable.\n * @param uniformName Name of the variable.\n * @param value Value to be set.\n */\n setUInt(uniformName, value) {\n const cache = this._valueCache[uniformName];\n if (cache !== undefined && cache === value) {\n return;\n }\n if (this.engine.setUInt(this._uniforms[uniformName], value)) {\n this._valueCache[uniformName] = value;\n }\n }\n /**\n * Sets an unsigned int2 value on a uniform variable.\n * @param uniformName Name of the variable.\n * @param x First unsigned int in uint2.\n * @param y Second unsigned int in uint2.\n */\n setUInt2(uniformName, x, y) {\n if (this._cacheFloat2(uniformName, x, y)) {\n if (!this.engine.setUInt2(this._uniforms[uniformName], x, y)) {\n this._valueCache[uniformName] = null;\n }\n }\n }\n /**\n * Sets an unsigned int3 value on a uniform variable.\n * @param uniformName Name of the variable.\n * @param x First unsigned int in uint3.\n * @param y Second unsigned int in uint3.\n * @param z Third unsigned int in uint3.\n */\n setUInt3(uniformName, x, y, z) {\n if (this._cacheFloat3(uniformName, x, y, z)) {\n if (!this.engine.setUInt3(this._uniforms[uniformName], x, y, z)) {\n this._valueCache[uniformName] = null;\n }\n }\n }\n /**\n * Sets an unsigned int4 value on a uniform variable.\n * @param uniformName Name of the variable.\n * @param x First unsigned int in uint4.\n * @param y Second unsigned int in uint4.\n * @param z Third unsigned int in uint4.\n * @param w Fourth unsigned int in uint4.\n */\n setUInt4(uniformName, x, y, z, w) {\n if (this._cacheFloat4(uniformName, x, y, z, w)) {\n if (!this.engine.setUInt4(this._uniforms[uniformName], x, y, z, w)) {\n this._valueCache[uniformName] = null;\n }\n }\n }\n /**\n * Sets an unsigned int array on a uniform variable.\n * @param uniformName Name of the variable.\n * @param array array to be set.\n */\n setUIntArray(uniformName, array) {\n this._valueCache[uniformName] = null;\n this.engine.setUIntArray(this._uniforms[uniformName], array);\n }\n /**\n * Sets an unsigned int array 2 on a uniform variable. (Array is specified as single array eg. [1,2,3,4] will result in [[1,2],[3,4]] in the shader)\n * @param uniformName Name of the variable.\n * @param array array to be set.\n */\n setUIntArray2(uniformName, array) {\n this._valueCache[uniformName] = null;\n this.engine.setUIntArray2(this._uniforms[uniformName], array);\n }\n /**\n * Sets an unsigned int array 3 on a uniform variable. (Array is specified as single array eg. [1,2,3,4,5,6] will result in [[1,2,3],[4,5,6]] in the shader)\n * @param uniformName Name of the variable.\n * @param array array to be set.\n */\n setUIntArray3(uniformName, array) {\n this._valueCache[uniformName] = null;\n this.engine.setUIntArray3(this._uniforms[uniformName], array);\n }\n /**\n * Sets an unsigned int array 4 on a uniform variable. (Array is specified as single array eg. [1,2,3,4,5,6,7,8] will result in [[1,2,3,4],[5,6,7,8]] in the shader)\n * @param uniformName Name of the variable.\n * @param array array to be set.\n */\n setUIntArray4(uniformName, array) {\n this._valueCache[uniformName] = null;\n this.engine.setUIntArray4(this._uniforms[uniformName], array);\n }\n /**\n * Sets an array on a uniform variable.\n * @param uniformName Name of the variable.\n * @param array array to be set.\n */\n setArray(uniformName, array) {\n this._valueCache[uniformName] = null;\n this.engine.setArray(this._uniforms[uniformName], array);\n }\n /**\n * Sets an array 2 on a uniform variable. (Array is specified as single array eg. [1,2,3,4] will result in [[1,2],[3,4]] in the shader)\n * @param uniformName Name of the variable.\n * @param array array to be set.\n */\n setArray2(uniformName, array) {\n this._valueCache[uniformName] = null;\n this.engine.setArray2(this._uniforms[uniformName], array);\n }\n /**\n * Sets an array 3 on a uniform variable. (Array is specified as single array eg. [1,2,3,4,5,6] will result in [[1,2,3],[4,5,6]] in the shader)\n * @param uniformName Name of the variable.\n * @param array array to be set.\n */\n setArray3(uniformName, array) {\n this._valueCache[uniformName] = null;\n this.engine.setArray3(this._uniforms[uniformName], array);\n }\n /**\n * Sets an array 4 on a uniform variable. (Array is specified as single array eg. [1,2,3,4,5,6,7,8] will result in [[1,2,3,4],[5,6,7,8]] in the shader)\n * @param uniformName Name of the variable.\n * @param array array to be set.\n */\n setArray4(uniformName, array) {\n this._valueCache[uniformName] = null;\n this.engine.setArray4(this._uniforms[uniformName], array);\n }\n /**\n * Sets matrices on a uniform variable.\n * @param uniformName Name of the variable.\n * @param matrices matrices to be set.\n */\n setMatrices(uniformName, matrices) {\n if (!matrices) {\n return;\n }\n this._valueCache[uniformName] = null;\n this.engine.setMatrices(this._uniforms[uniformName], matrices);\n }\n /**\n * Sets matrix on a uniform variable.\n * @param uniformName Name of the variable.\n * @param matrix matrix to be set.\n */\n setMatrix(uniformName, matrix) {\n if (this._cacheMatrix(uniformName, matrix)) {\n if (!this.engine.setMatrices(this._uniforms[uniformName], matrix.asArray())) {\n this._valueCache[uniformName] = null;\n }\n }\n }\n /**\n * Sets a 3x3 matrix on a uniform variable. (Specified as [1,2,3,4,5,6,7,8,9] will result in [1,2,3][4,5,6][7,8,9] matrix)\n * @param uniformName Name of the variable.\n * @param matrix matrix to be set.\n */\n setMatrix3x3(uniformName, matrix) {\n this._valueCache[uniformName] = null;\n this.engine.setMatrix3x3(this._uniforms[uniformName], matrix);\n }\n /**\n * Sets a 2x2 matrix on a uniform variable. (Specified as [1,2,3,4] will result in [1,2][3,4] matrix)\n * @param uniformName Name of the variable.\n * @param matrix matrix to be set.\n */\n setMatrix2x2(uniformName, matrix) {\n this._valueCache[uniformName] = null;\n this.engine.setMatrix2x2(this._uniforms[uniformName], matrix);\n }\n /**\n * Sets a float on a uniform variable.\n * @param uniformName Name of the variable.\n * @param value value to be set.\n */\n setFloat(uniformName, value) {\n const cache = this._valueCache[uniformName];\n if (cache !== undefined && cache === value) {\n return;\n }\n if (this.engine.setFloat(this._uniforms[uniformName], value)) {\n this._valueCache[uniformName] = value;\n }\n }\n /**\n * Sets a Vector2 on a uniform variable.\n * @param uniformName Name of the variable.\n * @param vector2 vector2 to be set.\n */\n setVector2(uniformName, vector2) {\n if (this._cacheFloat2(uniformName, vector2.x, vector2.y)) {\n if (!this.engine.setFloat2(this._uniforms[uniformName], vector2.x, vector2.y)) {\n this._valueCache[uniformName] = null;\n }\n }\n }\n /**\n * Sets a float2 on a uniform variable.\n * @param uniformName Name of the variable.\n * @param x First float in float2.\n * @param y Second float in float2.\n */\n setFloat2(uniformName, x, y) {\n if (this._cacheFloat2(uniformName, x, y)) {\n if (!this.engine.setFloat2(this._uniforms[uniformName], x, y)) {\n this._valueCache[uniformName] = null;\n }\n }\n }\n /**\n * Sets a Vector3 on a uniform variable.\n * @param uniformName Name of the variable.\n * @param vector3 Value to be set.\n */\n setVector3(uniformName, vector3) {\n if (this._cacheFloat3(uniformName, vector3.x, vector3.y, vector3.z)) {\n if (!this.engine.setFloat3(this._uniforms[uniformName], vector3.x, vector3.y, vector3.z)) {\n this._valueCache[uniformName] = null;\n }\n }\n }\n /**\n * Sets a float3 on a uniform variable.\n * @param uniformName Name of the variable.\n * @param x First float in float3.\n * @param y Second float in float3.\n * @param z Third float in float3.\n */\n setFloat3(uniformName, x, y, z) {\n if (this._cacheFloat3(uniformName, x, y, z)) {\n if (!this.engine.setFloat3(this._uniforms[uniformName], x, y, z)) {\n this._valueCache[uniformName] = null;\n }\n }\n }\n /**\n * Sets a Vector4 on a uniform variable.\n * @param uniformName Name of the variable.\n * @param vector4 Value to be set.\n */\n setVector4(uniformName, vector4) {\n if (this._cacheFloat4(uniformName, vector4.x, vector4.y, vector4.z, vector4.w)) {\n if (!this.engine.setFloat4(this._uniforms[uniformName], vector4.x, vector4.y, vector4.z, vector4.w)) {\n this._valueCache[uniformName] = null;\n }\n }\n }\n /**\n * Sets a Quaternion on a uniform variable.\n * @param uniformName Name of the variable.\n * @param quaternion Value to be set.\n */\n setQuaternion(uniformName, quaternion) {\n if (this._cacheFloat4(uniformName, quaternion.x, quaternion.y, quaternion.z, quaternion.w)) {\n if (!this.engine.setFloat4(this._uniforms[uniformName], quaternion.x, quaternion.y, quaternion.z, quaternion.w)) {\n this._valueCache[uniformName] = null;\n }\n }\n }\n /**\n * Sets a float4 on a uniform variable.\n * @param uniformName Name of the variable.\n * @param x First float in float4.\n * @param y Second float in float4.\n * @param z Third float in float4.\n * @param w Fourth float in float4.\n */\n setFloat4(uniformName, x, y, z, w) {\n if (this._cacheFloat4(uniformName, x, y, z, w)) {\n if (!this.engine.setFloat4(this._uniforms[uniformName], x, y, z, w)) {\n this._valueCache[uniformName] = null;\n }\n }\n }\n /**\n * Sets a Color3 on a uniform variable.\n * @param uniformName Name of the variable.\n * @param color3 Value to be set.\n */\n setColor3(uniformName, color3) {\n if (this._cacheFloat3(uniformName, color3.r, color3.g, color3.b)) {\n if (!this.engine.setFloat3(this._uniforms[uniformName], color3.r, color3.g, color3.b)) {\n this._valueCache[uniformName] = null;\n }\n }\n }\n /**\n * Sets a Color4 on a uniform variable.\n * @param uniformName Name of the variable.\n * @param color3 Value to be set.\n * @param alpha Alpha value to be set.\n */\n setColor4(uniformName, color3, alpha) {\n if (this._cacheFloat4(uniformName, color3.r, color3.g, color3.b, alpha)) {\n if (!this.engine.setFloat4(this._uniforms[uniformName], color3.r, color3.g, color3.b, alpha)) {\n this._valueCache[uniformName] = null;\n }\n }\n }\n /**\n * Sets a Color4 on a uniform variable\n * @param uniformName defines the name of the variable\n * @param color4 defines the value to be set\n */\n setDirectColor4(uniformName, color4) {\n if (this._cacheFloat4(uniformName, color4.r, color4.g, color4.b, color4.a)) {\n if (!this.engine.setFloat4(this._uniforms[uniformName], color4.r, color4.g, color4.b, color4.a)) {\n this._valueCache[uniformName] = null;\n }\n }\n }\n _getVertexShaderCode() {\n return this.vertexShader ? this.engine._getShaderSource(this.vertexShader) : null;\n }\n _getFragmentShaderCode() {\n return this.fragmentShader ? this.engine._getShaderSource(this.fragmentShader) : null;\n }\n}","map":{"version":3,"names":["WebGLPipelineContext","constructor","_valueCache","vertexCompilationError","fragmentCompilationError","programLinkError","programValidationError","_isDisposed","isAsync","isParallelCompiled","isReady","program","engine","_isRenderingStateCompiled","_handlesSpectorRebuildCallback","onCompiled","setEngine","_fillEffectInformation","effect","uniformBuffersNames","uniformsNames","uniforms","samplerList","samplers","attributesNames","attributes","supportsUniformBuffers","name","bindUniformBlock","effectAvailableUniforms","getUniforms","forEach","uniform","index","_uniforms","length","sampler","getUniform","splice","attr","getAttributes","push","dispose","_cacheMatrix","uniformName","matrix","cache","flag","updateFlag","undefined","_cacheFloat2","x","y","changed","_cacheFloat3","z","_cacheFloat4","w","setInt","value","setInt2","setInt3","setInt4","setIntArray","array","setIntArray2","setIntArray3","setIntArray4","setUInt","setUInt2","setUInt3","setUInt4","setUIntArray","setUIntArray2","setUIntArray3","setUIntArray4","setArray","setArray2","setArray3","setArray4","setMatrices","matrices","setMatrix","asArray","setMatrix3x3","setMatrix2x2","setFloat","setVector2","vector2","setFloat2","setVector3","vector3","setFloat3","setVector4","vector4","setFloat4","setQuaternion","quaternion","setColor3","color3","r","g","b","setColor4","alpha","setDirectColor4","color4","a","_getVertexShaderCode","vertexShader","_getShaderSource","_getFragmentShaderCode","fragmentShader"],"sources":["F:/workspace/202226701027/huinongbao-app/node_modules/@babylonjs/core/Engines/WebGL/webGLPipelineContext.js"],"sourcesContent":["/** @internal */\nexport class WebGLPipelineContext {\n constructor() {\n this._valueCache = {};\n this.vertexCompilationError = null;\n this.fragmentCompilationError = null;\n this.programLinkError = null;\n this.programValidationError = null;\n /** @internal */\n this._isDisposed = false;\n }\n get isAsync() {\n return this.isParallelCompiled;\n }\n get isReady() {\n if (this.program) {\n if (this.isParallelCompiled) {\n return this.engine._isRenderingStateCompiled(this);\n }\n return true;\n }\n return false;\n }\n _handlesSpectorRebuildCallback(onCompiled) {\n if (onCompiled && this.program) {\n onCompiled(this.program);\n }\n }\n setEngine(engine) {\n this.engine = engine;\n }\n _fillEffectInformation(effect, uniformBuffersNames, uniformsNames, uniforms, samplerList, samplers, attributesNames, attributes) {\n const engine = this.engine;\n if (engine.supportsUniformBuffers) {\n for (const name in uniformBuffersNames) {\n effect.bindUniformBlock(name, uniformBuffersNames[name]);\n }\n }\n const effectAvailableUniforms = this.engine.getUniforms(this, uniformsNames);\n effectAvailableUniforms.forEach((uniform, index) => {\n uniforms[uniformsNames[index]] = uniform;\n });\n this._uniforms = uniforms;\n let index;\n for (index = 0; index < samplerList.length; index++) {\n const sampler = effect.getUniform(samplerList[index]);\n if (sampler == null) {\n samplerList.splice(index, 1);\n index--;\n }\n }\n samplerList.forEach((name, index) => {\n samplers[name] = index;\n });\n for (const attr of engine.getAttributes(this, attributesNames)) {\n attributes.push(attr);\n }\n }\n /**\n * Release all associated resources.\n **/\n dispose() {\n this._uniforms = {};\n this._isDisposed = true;\n }\n /**\n * @internal\n */\n _cacheMatrix(uniformName, matrix) {\n const cache = this._valueCache[uniformName];\n const flag = matrix.updateFlag;\n if (cache !== undefined && cache === flag) {\n return false;\n }\n this._valueCache[uniformName] = flag;\n return true;\n }\n /**\n * @internal\n */\n _cacheFloat2(uniformName, x, y) {\n let cache = this._valueCache[uniformName];\n if (!cache || cache.length !== 2) {\n cache = [x, y];\n this._valueCache[uniformName] = cache;\n return true;\n }\n let changed = false;\n if (cache[0] !== x) {\n cache[0] = x;\n changed = true;\n }\n if (cache[1] !== y) {\n cache[1] = y;\n changed = true;\n }\n return changed;\n }\n /**\n * @internal\n */\n _cacheFloat3(uniformName, x, y, z) {\n let cache = this._valueCache[uniformName];\n if (!cache || cache.length !== 3) {\n cache = [x, y, z];\n this._valueCache[uniformName] = cache;\n return true;\n }\n let changed = false;\n if (cache[0] !== x) {\n cache[0] = x;\n changed = true;\n }\n if (cache[1] !== y) {\n cache[1] = y;\n changed = true;\n }\n if (cache[2] !== z) {\n cache[2] = z;\n changed = true;\n }\n return changed;\n }\n /**\n * @internal\n */\n _cacheFloat4(uniformName, x, y, z, w) {\n let cache = this._valueCache[uniformName];\n if (!cache || cache.length !== 4) {\n cache = [x, y, z, w];\n this._valueCache[uniformName] = cache;\n return true;\n }\n let changed = false;\n if (cache[0] !== x) {\n cache[0] = x;\n changed = true;\n }\n if (cache[1] !== y) {\n cache[1] = y;\n changed = true;\n }\n if (cache[2] !== z) {\n cache[2] = z;\n changed = true;\n }\n if (cache[3] !== w) {\n cache[3] = w;\n changed = true;\n }\n return changed;\n }\n /**\n * Sets an integer value on a uniform variable.\n * @param uniformName Name of the variable.\n * @param value Value to be set.\n */\n setInt(uniformName, value) {\n const cache = this._valueCache[uniformName];\n if (cache !== undefined && cache === value) {\n return;\n }\n if (this.engine.setInt(this._uniforms[uniformName], value)) {\n this._valueCache[uniformName] = value;\n }\n }\n /**\n * Sets a int2 on a uniform variable.\n * @param uniformName Name of the variable.\n * @param x First int in int2.\n * @param y Second int in int2.\n */\n setInt2(uniformName, x, y) {\n if (this._cacheFloat2(uniformName, x, y)) {\n if (!this.engine.setInt2(this._uniforms[uniformName], x, y)) {\n this._valueCache[uniformName] = null;\n }\n }\n }\n /**\n * Sets a int3 on a uniform variable.\n * @param uniformName Name of the variable.\n * @param x First int in int3.\n * @param y Second int in int3.\n * @param z Third int in int3.\n */\n setInt3(uniformName, x, y, z) {\n if (this._cacheFloat3(uniformName, x, y, z)) {\n if (!this.engine.setInt3(this._uniforms[uniformName], x, y, z)) {\n this._valueCache[uniformName] = null;\n }\n }\n }\n /**\n * Sets a int4 on a uniform variable.\n * @param uniformName Name of the variable.\n * @param x First int in int4.\n * @param y Second int in int4.\n * @param z Third int in int4.\n * @param w Fourth int in int4.\n */\n setInt4(uniformName, x, y, z, w) {\n if (this._cacheFloat4(uniformName, x, y, z, w)) {\n if (!this.engine.setInt4(this._uniforms[uniformName], x, y, z, w)) {\n this._valueCache[uniformName] = null;\n }\n }\n }\n /**\n * Sets an int array on a uniform variable.\n * @param uniformName Name of the variable.\n * @param array array to be set.\n */\n setIntArray(uniformName, array) {\n this._valueCache[uniformName] = null;\n this.engine.setIntArray(this._uniforms[uniformName], array);\n }\n /**\n * Sets an int array 2 on a uniform variable. (Array is specified as single array eg. [1,2,3,4] will result in [[1,2],[3,4]] in the shader)\n * @param uniformName Name of the variable.\n * @param array array to be set.\n */\n setIntArray2(uniformName, array) {\n this._valueCache[uniformName] = null;\n this.engine.setIntArray2(this._uniforms[uniformName], array);\n }\n /**\n * Sets an int array 3 on a uniform variable. (Array is specified as single array eg. [1,2,3,4,5,6] will result in [[1,2,3],[4,5,6]] in the shader)\n * @param uniformName Name of the variable.\n * @param array array to be set.\n */\n setIntArray3(uniformName, array) {\n this._valueCache[uniformName] = null;\n this.engine.setIntArray3(this._uniforms[uniformName], array);\n }\n /**\n * Sets an int array 4 on a uniform variable. (Array is specified as single array eg. [1,2,3,4,5,6,7,8] will result in [[1,2,3,4],[5,6,7,8]] in the shader)\n * @param uniformName Name of the variable.\n * @param array array to be set.\n */\n setIntArray4(uniformName, array) {\n this._valueCache[uniformName] = null;\n this.engine.setIntArray4(this._uniforms[uniformName], array);\n }\n /**\n * Sets an unsigned integer value on a uniform variable.\n * @param uniformName Name of the variable.\n * @param value Value to be set.\n */\n setUInt(uniformName, value) {\n const cache = this._valueCache[uniformName];\n if (cache !== undefined && cache === value) {\n return;\n }\n if (this.engine.setUInt(this._uniforms[uniformName], value)) {\n this._valueCache[uniformName] = value;\n }\n }\n /**\n * Sets an unsigned int2 value on a uniform variable.\n * @param uniformName Name of the variable.\n * @param x First unsigned int in uint2.\n * @param y Second unsigned int in uint2.\n */\n setUInt2(uniformName, x, y) {\n if (this._cacheFloat2(uniformName, x, y)) {\n if (!this.engine.setUInt2(this._uniforms[uniformName], x, y)) {\n this._valueCache[uniformName] = null;\n }\n }\n }\n /**\n * Sets an unsigned int3 value on a uniform variable.\n * @param uniformName Name of the variable.\n * @param x First unsigned int in uint3.\n * @param y Second unsigned int in uint3.\n * @param z Third unsigned int in uint3.\n */\n setUInt3(uniformName, x, y, z) {\n if (this._cacheFloat3(uniformName, x, y, z)) {\n if (!this.engine.setUInt3(this._uniforms[uniformName], x, y, z)) {\n this._valueCache[uniformName] = null;\n }\n }\n }\n /**\n * Sets an unsigned int4 value on a uniform variable.\n * @param uniformName Name of the variable.\n * @param x First unsigned int in uint4.\n * @param y Second unsigned int in uint4.\n * @param z Third unsigned int in uint4.\n * @param w Fourth unsigned int in uint4.\n */\n setUInt4(uniformName, x, y, z, w) {\n if (this._cacheFloat4(uniformName, x, y, z, w)) {\n if (!this.engine.setUInt4(this._uniforms[uniformName], x, y, z, w)) {\n this._valueCache[uniformName] = null;\n }\n }\n }\n /**\n * Sets an unsigned int array on a uniform variable.\n * @param uniformName Name of the variable.\n * @param array array to be set.\n */\n setUIntArray(uniformName, array) {\n this._valueCache[uniformName] = null;\n this.engine.setUIntArray(this._uniforms[uniformName], array);\n }\n /**\n * Sets an unsigned int array 2 on a uniform variable. (Array is specified as single array eg. [1,2,3,4] will result in [[1,2],[3,4]] in the shader)\n * @param uniformName Name of the variable.\n * @param array array to be set.\n */\n setUIntArray2(uniformName, array) {\n this._valueCache[uniformName] = null;\n this.engine.setUIntArray2(this._uniforms[uniformName], array);\n }\n /**\n * Sets an unsigned int array 3 on a uniform variable. (Array is specified as single array eg. [1,2,3,4,5,6] will result in [[1,2,3],[4,5,6]] in the shader)\n * @param uniformName Name of the variable.\n * @param array array to be set.\n */\n setUIntArray3(uniformName, array) {\n this._valueCache[uniformName] = null;\n this.engine.setUIntArray3(this._uniforms[uniformName], array);\n }\n /**\n * Sets an unsigned int array 4 on a uniform variable. (Array is specified as single array eg. [1,2,3,4,5,6,7,8] will result in [[1,2,3,4],[5,6,7,8]] in the shader)\n * @param uniformName Name of the variable.\n * @param array array to be set.\n */\n setUIntArray4(uniformName, array) {\n this._valueCache[uniformName] = null;\n this.engine.setUIntArray4(this._uniforms[uniformName], array);\n }\n /**\n * Sets an array on a uniform variable.\n * @param uniformName Name of the variable.\n * @param array array to be set.\n */\n setArray(uniformName, array) {\n this._valueCache[uniformName] = null;\n this.engine.setArray(this._uniforms[uniformName], array);\n }\n /**\n * Sets an array 2 on a uniform variable. (Array is specified as single array eg. [1,2,3,4] will result in [[1,2],[3,4]] in the shader)\n * @param uniformName Name of the variable.\n * @param array array to be set.\n */\n setArray2(uniformName, array) {\n this._valueCache[uniformName] = null;\n this.engine.setArray2(this._uniforms[uniformName], array);\n }\n /**\n * Sets an array 3 on a uniform variable. (Array is specified as single array eg. [1,2,3,4,5,6] will result in [[1,2,3],[4,5,6]] in the shader)\n * @param uniformName Name of the variable.\n * @param array array to be set.\n */\n setArray3(uniformName, array) {\n this._valueCache[uniformName] = null;\n this.engine.setArray3(this._uniforms[uniformName], array);\n }\n /**\n * Sets an array 4 on a uniform variable. (Array is specified as single array eg. [1,2,3,4,5,6,7,8] will result in [[1,2,3,4],[5,6,7,8]] in the shader)\n * @param uniformName Name of the variable.\n * @param array array to be set.\n */\n setArray4(uniformName, array) {\n this._valueCache[uniformName] = null;\n this.engine.setArray4(this._uniforms[uniformName], array);\n }\n /**\n * Sets matrices on a uniform variable.\n * @param uniformName Name of the variable.\n * @param matrices matrices to be set.\n */\n setMatrices(uniformName, matrices) {\n if (!matrices) {\n return;\n }\n this._valueCache[uniformName] = null;\n this.engine.setMatrices(this._uniforms[uniformName], matrices);\n }\n /**\n * Sets matrix on a uniform variable.\n * @param uniformName Name of the variable.\n * @param matrix matrix to be set.\n */\n setMatrix(uniformName, matrix) {\n if (this._cacheMatrix(uniformName, matrix)) {\n if (!this.engine.setMatrices(this._uniforms[uniformName], matrix.asArray())) {\n this._valueCache[uniformName] = null;\n }\n }\n }\n /**\n * Sets a 3x3 matrix on a uniform variable. (Specified as [1,2,3,4,5,6,7,8,9] will result in [1,2,3][4,5,6][7,8,9] matrix)\n * @param uniformName Name of the variable.\n * @param matrix matrix to be set.\n */\n setMatrix3x3(uniformName, matrix) {\n this._valueCache[uniformName] = null;\n this.engine.setMatrix3x3(this._uniforms[uniformName], matrix);\n }\n /**\n * Sets a 2x2 matrix on a uniform variable. (Specified as [1,2,3,4] will result in [1,2][3,4] matrix)\n * @param uniformName Name of the variable.\n * @param matrix matrix to be set.\n */\n setMatrix2x2(uniformName, matrix) {\n this._valueCache[uniformName] = null;\n this.engine.setMatrix2x2(this._uniforms[uniformName], matrix);\n }\n /**\n * Sets a float on a uniform variable.\n * @param uniformName Name of the variable.\n * @param value value to be set.\n */\n setFloat(uniformName, value) {\n const cache = this._valueCache[uniformName];\n if (cache !== undefined && cache === value) {\n return;\n }\n if (this.engine.setFloat(this._uniforms[uniformName], value)) {\n this._valueCache[uniformName] = value;\n }\n }\n /**\n * Sets a Vector2 on a uniform variable.\n * @param uniformName Name of the variable.\n * @param vector2 vector2 to be set.\n */\n setVector2(uniformName, vector2) {\n if (this._cacheFloat2(uniformName, vector2.x, vector2.y)) {\n if (!this.engine.setFloat2(this._uniforms[uniformName], vector2.x, vector2.y)) {\n this._valueCache[uniformName] = null;\n }\n }\n }\n /**\n * Sets a float2 on a uniform variable.\n * @param uniformName Name of the variable.\n * @param x First float in float2.\n * @param y Second float in float2.\n */\n setFloat2(uniformName, x, y) {\n if (this._cacheFloat2(uniformName, x, y)) {\n if (!this.engine.setFloat2(this._uniforms[uniformName], x, y)) {\n this._valueCache[uniformName] = null;\n }\n }\n }\n /**\n * Sets a Vector3 on a uniform variable.\n * @param uniformName Name of the variable.\n * @param vector3 Value to be set.\n */\n setVector3(uniformName, vector3) {\n if (this._cacheFloat3(uniformName, vector3.x, vector3.y, vector3.z)) {\n if (!this.engine.setFloat3(this._uniforms[uniformName], vector3.x, vector3.y, vector3.z)) {\n this._valueCache[uniformName] = null;\n }\n }\n }\n /**\n * Sets a float3 on a uniform variable.\n * @param uniformName Name of the variable.\n * @param x First float in float3.\n * @param y Second float in float3.\n * @param z Third float in float3.\n */\n setFloat3(uniformName, x, y, z) {\n if (this._cacheFloat3(uniformName, x, y, z)) {\n if (!this.engine.setFloat3(this._uniforms[uniformName], x, y, z)) {\n this._valueCache[uniformName] = null;\n }\n }\n }\n /**\n * Sets a Vector4 on a uniform variable.\n * @param uniformName Name of the variable.\n * @param vector4 Value to be set.\n */\n setVector4(uniformName, vector4) {\n if (this._cacheFloat4(uniformName, vector4.x, vector4.y, vector4.z, vector4.w)) {\n if (!this.engine.setFloat4(this._uniforms[uniformName], vector4.x, vector4.y, vector4.z, vector4.w)) {\n this._valueCache[uniformName] = null;\n }\n }\n }\n /**\n * Sets a Quaternion on a uniform variable.\n * @param uniformName Name of the variable.\n * @param quaternion Value to be set.\n */\n setQuaternion(uniformName, quaternion) {\n if (this._cacheFloat4(uniformName, quaternion.x, quaternion.y, quaternion.z, quaternion.w)) {\n if (!this.engine.setFloat4(this._uniforms[uniformName], quaternion.x, quaternion.y, quaternion.z, quaternion.w)) {\n this._valueCache[uniformName] = null;\n }\n }\n }\n /**\n * Sets a float4 on a uniform variable.\n * @param uniformName Name of the variable.\n * @param x First float in float4.\n * @param y Second float in float4.\n * @param z Third float in float4.\n * @param w Fourth float in float4.\n */\n setFloat4(uniformName, x, y, z, w) {\n if (this._cacheFloat4(uniformName, x, y, z, w)) {\n if (!this.engine.setFloat4(this._uniforms[uniformName], x, y, z, w)) {\n this._valueCache[uniformName] = null;\n }\n }\n }\n /**\n * Sets a Color3 on a uniform variable.\n * @param uniformName Name of the variable.\n * @param color3 Value to be set.\n */\n setColor3(uniformName, color3) {\n if (this._cacheFloat3(uniformName, color3.r, color3.g, color3.b)) {\n if (!this.engine.setFloat3(this._uniforms[uniformName], color3.r, color3.g, color3.b)) {\n this._valueCache[uniformName] = null;\n }\n }\n }\n /**\n * Sets a Color4 on a uniform variable.\n * @param uniformName Name of the variable.\n * @param color3 Value to be set.\n * @param alpha Alpha value to be set.\n */\n setColor4(uniformName, color3, alpha) {\n if (this._cacheFloat4(uniformName, color3.r, color3.g, color3.b, alpha)) {\n if (!this.engine.setFloat4(this._uniforms[uniformName], color3.r, color3.g, color3.b, alpha)) {\n this._valueCache[uniformName] = null;\n }\n }\n }\n /**\n * Sets a Color4 on a uniform variable\n * @param uniformName defines the name of the variable\n * @param color4 defines the value to be set\n */\n setDirectColor4(uniformName, color4) {\n if (this._cacheFloat4(uniformName, color4.r, color4.g, color4.b, color4.a)) {\n if (!this.engine.setFloat4(this._uniforms[uniformName], color4.r, color4.g, color4.b, color4.a)) {\n this._valueCache[uniformName] = null;\n }\n }\n }\n _getVertexShaderCode() {\n return this.vertexShader ? this.engine._getShaderSource(this.vertexShader) : null;\n }\n _getFragmentShaderCode() {\n return this.fragmentShader ? this.engine._getShaderSource(this.fragmentShader) : null;\n }\n}\n"],"mappings":"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","ignoreList":[]},"metadata":{},"sourceType":"module","externalDependencies":[]}