1 |
- {"ast":null,"code":"import { UniformBuffer } from \"../../Materials/uniformBuffer.js\";\nimport { WebGPUShaderProcessor } from \"./webgpuShaderProcessor.js\";\n/** @internal */\nexport class WebGPUPipelineContext {\n get isAsync() {\n return false;\n }\n get isReady() {\n if (this.stages) {\n return true;\n }\n return false;\n }\n constructor(shaderProcessingContext, engine) {\n // The field is indexed by textureState. See @WebGPUMaterialContext.textureState for more information.\n this.bindGroupLayouts = {};\n this._name = \"unnamed\";\n this.shaderProcessingContext = shaderProcessingContext;\n this._leftOverUniformsByName = {};\n this.engine = engine;\n this.vertexBufferKindToType = {};\n }\n _handlesSpectorRebuildCallback() {\n // Nothing to do yet for spector.\n }\n _fillEffectInformation(effect, uniformBuffersNames, uniformsNames, uniforms, samplerList, samplers, attributesNames, attributes) {\n const engine = this.engine;\n if (engine._doNotHandleContextLost) {\n effect._fragmentSourceCode = \"\";\n effect._vertexSourceCode = \"\";\n }\n const foundSamplers = this.shaderProcessingContext.availableTextures;\n let index;\n for (index = 0; index < samplerList.length; index++) {\n const name = samplerList[index];\n const sampler = foundSamplers[samplerList[index]];\n if (sampler == null || sampler == undefined) {\n samplerList.splice(index, 1);\n index--;\n } else {\n samplers[name] = index;\n }\n }\n for (const attr of engine.getAttributes(this, attributesNames)) {\n attributes.push(attr);\n }\n // Build the uniform layout for the left over uniforms.\n this.buildUniformLayout();\n const attributeNamesFromEffect = [];\n const attributeLocationsFromEffect = [];\n for (index = 0; index < attributesNames.length; index++) {\n const location = attributes[index];\n if (location >= 0) {\n attributeNamesFromEffect.push(attributesNames[index]);\n attributeLocationsFromEffect.push(location);\n }\n }\n this.shaderProcessingContext.attributeNamesFromEffect = attributeNamesFromEffect;\n this.shaderProcessingContext.attributeLocationsFromEffect = attributeLocationsFromEffect;\n }\n /** @internal */\n /**\n * Build the uniform buffer used in the material.\n */\n buildUniformLayout() {\n var _this$uniformBuffer;\n if (!this.shaderProcessingContext.leftOverUniforms.length) {\n return;\n }\n (_this$uniformBuffer = this.uniformBuffer) === null || _this$uniformBuffer === void 0 || _this$uniformBuffer.dispose();\n this.uniformBuffer = new UniformBuffer(this.engine, undefined, undefined, \"leftOver-\" + this._name);\n for (const leftOverUniform of this.shaderProcessingContext.leftOverUniforms) {\n const type = leftOverUniform.type.replace(/^(.*?)(<.*>)?$/, \"$1\");\n const size = WebGPUShaderProcessor.UniformSizes[type];\n this.uniformBuffer.addUniform(leftOverUniform.name, size, leftOverUniform.length);\n this._leftOverUniformsByName[leftOverUniform.name] = leftOverUniform.type;\n }\n this.uniformBuffer.create();\n }\n setEngine(engine) {\n this.engine = engine;\n }\n /**\n * Release all associated resources.\n **/\n dispose() {\n if (this.uniformBuffer) {\n this.uniformBuffer.dispose();\n }\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 if (!this.uniformBuffer || !this._leftOverUniformsByName[uniformName]) {\n return;\n }\n this.uniformBuffer.updateInt(uniformName, value);\n }\n /**\n * Sets an int2 value 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.uniformBuffer || !this._leftOverUniformsByName[uniformName]) {\n return;\n }\n this.uniformBuffer.updateInt2(uniformName, x, y);\n }\n /**\n * Sets an int3 value 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.uniformBuffer || !this._leftOverUniformsByName[uniformName]) {\n return;\n }\n this.uniformBuffer.updateInt3(uniformName, x, y, z);\n }\n /**\n * Sets an int4 value 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.uniformBuffer || !this._leftOverUniformsByName[uniformName]) {\n return;\n }\n this.uniformBuffer.updateInt4(uniformName, x, y, z, w);\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 if (!this.uniformBuffer || !this._leftOverUniformsByName[uniformName]) {\n return;\n }\n this.uniformBuffer.updateIntArray(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.setIntArray(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.setIntArray(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.setIntArray(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 if (!this.uniformBuffer || !this._leftOverUniformsByName[uniformName]) {\n return;\n }\n this.uniformBuffer.updateUInt(uniformName, value);\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.uniformBuffer || !this._leftOverUniformsByName[uniformName]) {\n return;\n }\n this.uniformBuffer.updateUInt2(uniformName, x, y);\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.uniformBuffer || !this._leftOverUniformsByName[uniformName]) {\n return;\n }\n this.uniformBuffer.updateUInt3(uniformName, x, y, z);\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.uniformBuffer || !this._leftOverUniformsByName[uniformName]) {\n return;\n }\n this.uniformBuffer.updateUInt4(uniformName, x, y, z, w);\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 if (!this.uniformBuffer || !this._leftOverUniformsByName[uniformName]) {\n return;\n }\n this.uniformBuffer.updateUIntArray(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.setUIntArray(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.setUIntArray(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.setUIntArray(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 if (!this.uniformBuffer || !this._leftOverUniformsByName[uniformName]) {\n return;\n }\n this.uniformBuffer.updateArray(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.setArray(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.setArray(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.setArray(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 (!this.uniformBuffer || !this._leftOverUniformsByName[uniformName]) {\n return;\n }\n this.uniformBuffer.updateMatrices(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.uniformBuffer || !this._leftOverUniformsByName[uniformName]) {\n return;\n }\n this.uniformBuffer.updateMatrix(uniformName, matrix);\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 if (!this.uniformBuffer || !this._leftOverUniformsByName[uniformName]) {\n return;\n }\n this.uniformBuffer.updateMatrix3x3(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 if (!this.uniformBuffer || !this._leftOverUniformsByName[uniformName]) {\n return;\n }\n this.uniformBuffer.updateMatrix2x2(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 if (!this.uniformBuffer || !this._leftOverUniformsByName[uniformName]) {\n return;\n }\n this.uniformBuffer.updateFloat(uniformName, value);\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 this.setFloat2(uniformName, vector2.x, vector2.y);\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.uniformBuffer || !this._leftOverUniformsByName[uniformName]) {\n return;\n }\n this.uniformBuffer.updateFloat2(uniformName, x, y);\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 this.setFloat3(uniformName, vector3.x, vector3.y, vector3.z);\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.uniformBuffer || !this._leftOverUniformsByName[uniformName]) {\n return;\n }\n this.uniformBuffer.updateFloat3(uniformName, x, y, z);\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 this.setFloat4(uniformName, vector4.x, vector4.y, vector4.z, vector4.w);\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 this.setFloat4(uniformName, quaternion.x, quaternion.y, quaternion.z, quaternion.w);\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.uniformBuffer || !this._leftOverUniformsByName[uniformName]) {\n return;\n }\n this.uniformBuffer.updateFloat4(uniformName, x, y, z, w);\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 this.setFloat3(uniformName, color3.r, color3.g, color3.b);\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 this.setFloat4(uniformName, color3.r, color3.g, color3.b, alpha);\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 this.setFloat4(uniformName, color4.r, color4.g, color4.b, color4.a);\n }\n _getVertexShaderCode() {\n var _this$sources;\n return (_this$sources = this.sources) === null || _this$sources === void 0 ? void 0 : _this$sources.vertex;\n }\n _getFragmentShaderCode() {\n var _this$sources2;\n return (_this$sources2 = this.sources) === null || _this$sources2 === void 0 ? void 0 : _this$sources2.fragment;\n }\n}","map":{"version":3,"names":["UniformBuffer","WebGPUShaderProcessor","WebGPUPipelineContext","isAsync","isReady","stages","constructor","shaderProcessingContext","engine","bindGroupLayouts","_name","_leftOverUniformsByName","vertexBufferKindToType","_handlesSpectorRebuildCallback","_fillEffectInformation","effect","uniformBuffersNames","uniformsNames","uniforms","samplerList","samplers","attributesNames","attributes","_doNotHandleContextLost","_fragmentSourceCode","_vertexSourceCode","foundSamplers","availableTextures","index","length","name","sampler","undefined","splice","attr","getAttributes","push","buildUniformLayout","attributeNamesFromEffect","attributeLocationsFromEffect","location","_this$uniformBuffer","leftOverUniforms","uniformBuffer","dispose","leftOverUniform","type","replace","size","UniformSizes","addUniform","create","setEngine","setInt","uniformName","value","updateInt","setInt2","x","y","updateInt2","setInt3","z","updateInt3","setInt4","w","updateInt4","setIntArray","array","updateIntArray","setIntArray2","setIntArray3","setIntArray4","setUInt","updateUInt","setUInt2","updateUInt2","setUInt3","updateUInt3","setUInt4","updateUInt4","setUIntArray","updateUIntArray","setUIntArray2","setUIntArray3","setUIntArray4","setArray","updateArray","setArray2","setArray3","setArray4","setMatrices","matrices","updateMatrices","setMatrix","matrix","updateMatrix","setMatrix3x3","updateMatrix3x3","setMatrix2x2","updateMatrix2x2","setFloat","updateFloat","setVector2","vector2","setFloat2","updateFloat2","setVector3","vector3","setFloat3","updateFloat3","setVector4","vector4","setFloat4","setQuaternion","quaternion","updateFloat4","setColor3","color3","r","g","b","setColor4","alpha","setDirectColor4","color4","a","_getVertexShaderCode","_this$sources","sources","vertex","_getFragmentShaderCode","_this$sources2","fragment"],"sources":["F:/workspace/202226701027/huinongbao-app/node_modules/@babylonjs/core/Engines/WebGPU/webgpuPipelineContext.js"],"sourcesContent":["import { UniformBuffer } from \"../../Materials/uniformBuffer.js\";\nimport { WebGPUShaderProcessor } from \"./webgpuShaderProcessor.js\";\n/** @internal */\nexport class WebGPUPipelineContext {\n get isAsync() {\n return false;\n }\n get isReady() {\n if (this.stages) {\n return true;\n }\n return false;\n }\n constructor(shaderProcessingContext, engine) {\n // The field is indexed by textureState. See @WebGPUMaterialContext.textureState for more information.\n this.bindGroupLayouts = {};\n this._name = \"unnamed\";\n this.shaderProcessingContext = shaderProcessingContext;\n this._leftOverUniformsByName = {};\n this.engine = engine;\n this.vertexBufferKindToType = {};\n }\n _handlesSpectorRebuildCallback() {\n // Nothing to do yet for spector.\n }\n _fillEffectInformation(effect, uniformBuffersNames, uniformsNames, uniforms, samplerList, samplers, attributesNames, attributes) {\n const engine = this.engine;\n if (engine._doNotHandleContextLost) {\n effect._fragmentSourceCode = \"\";\n effect._vertexSourceCode = \"\";\n }\n const foundSamplers = this.shaderProcessingContext.availableTextures;\n let index;\n for (index = 0; index < samplerList.length; index++) {\n const name = samplerList[index];\n const sampler = foundSamplers[samplerList[index]];\n if (sampler == null || sampler == undefined) {\n samplerList.splice(index, 1);\n index--;\n }\n else {\n samplers[name] = index;\n }\n }\n for (const attr of engine.getAttributes(this, attributesNames)) {\n attributes.push(attr);\n }\n // Build the uniform layout for the left over uniforms.\n this.buildUniformLayout();\n const attributeNamesFromEffect = [];\n const attributeLocationsFromEffect = [];\n for (index = 0; index < attributesNames.length; index++) {\n const location = attributes[index];\n if (location >= 0) {\n attributeNamesFromEffect.push(attributesNames[index]);\n attributeLocationsFromEffect.push(location);\n }\n }\n this.shaderProcessingContext.attributeNamesFromEffect = attributeNamesFromEffect;\n this.shaderProcessingContext.attributeLocationsFromEffect = attributeLocationsFromEffect;\n }\n /** @internal */\n /**\n * Build the uniform buffer used in the material.\n */\n buildUniformLayout() {\n if (!this.shaderProcessingContext.leftOverUniforms.length) {\n return;\n }\n this.uniformBuffer?.dispose();\n this.uniformBuffer = new UniformBuffer(this.engine, undefined, undefined, \"leftOver-\" + this._name);\n for (const leftOverUniform of this.shaderProcessingContext.leftOverUniforms) {\n const type = leftOverUniform.type.replace(/^(.*?)(<.*>)?$/, \"$1\");\n const size = WebGPUShaderProcessor.UniformSizes[type];\n this.uniformBuffer.addUniform(leftOverUniform.name, size, leftOverUniform.length);\n this._leftOverUniformsByName[leftOverUniform.name] = leftOverUniform.type;\n }\n this.uniformBuffer.create();\n }\n setEngine(engine) {\n this.engine = engine;\n }\n /**\n * Release all associated resources.\n **/\n dispose() {\n if (this.uniformBuffer) {\n this.uniformBuffer.dispose();\n }\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 if (!this.uniformBuffer || !this._leftOverUniformsByName[uniformName]) {\n return;\n }\n this.uniformBuffer.updateInt(uniformName, value);\n }\n /**\n * Sets an int2 value 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.uniformBuffer || !this._leftOverUniformsByName[uniformName]) {\n return;\n }\n this.uniformBuffer.updateInt2(uniformName, x, y);\n }\n /**\n * Sets an int3 value 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.uniformBuffer || !this._leftOverUniformsByName[uniformName]) {\n return;\n }\n this.uniformBuffer.updateInt3(uniformName, x, y, z);\n }\n /**\n * Sets an int4 value 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.uniformBuffer || !this._leftOverUniformsByName[uniformName]) {\n return;\n }\n this.uniformBuffer.updateInt4(uniformName, x, y, z, w);\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 if (!this.uniformBuffer || !this._leftOverUniformsByName[uniformName]) {\n return;\n }\n this.uniformBuffer.updateIntArray(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.setIntArray(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.setIntArray(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.setIntArray(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 if (!this.uniformBuffer || !this._leftOverUniformsByName[uniformName]) {\n return;\n }\n this.uniformBuffer.updateUInt(uniformName, value);\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.uniformBuffer || !this._leftOverUniformsByName[uniformName]) {\n return;\n }\n this.uniformBuffer.updateUInt2(uniformName, x, y);\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.uniformBuffer || !this._leftOverUniformsByName[uniformName]) {\n return;\n }\n this.uniformBuffer.updateUInt3(uniformName, x, y, z);\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.uniformBuffer || !this._leftOverUniformsByName[uniformName]) {\n return;\n }\n this.uniformBuffer.updateUInt4(uniformName, x, y, z, w);\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 if (!this.uniformBuffer || !this._leftOverUniformsByName[uniformName]) {\n return;\n }\n this.uniformBuffer.updateUIntArray(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.setUIntArray(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.setUIntArray(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.setUIntArray(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 if (!this.uniformBuffer || !this._leftOverUniformsByName[uniformName]) {\n return;\n }\n this.uniformBuffer.updateArray(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.setArray(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.setArray(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.setArray(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 (!this.uniformBuffer || !this._leftOverUniformsByName[uniformName]) {\n return;\n }\n this.uniformBuffer.updateMatrices(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.uniformBuffer || !this._leftOverUniformsByName[uniformName]) {\n return;\n }\n this.uniformBuffer.updateMatrix(uniformName, matrix);\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 if (!this.uniformBuffer || !this._leftOverUniformsByName[uniformName]) {\n return;\n }\n this.uniformBuffer.updateMatrix3x3(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 if (!this.uniformBuffer || !this._leftOverUniformsByName[uniformName]) {\n return;\n }\n this.uniformBuffer.updateMatrix2x2(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 if (!this.uniformBuffer || !this._leftOverUniformsByName[uniformName]) {\n return;\n }\n this.uniformBuffer.updateFloat(uniformName, value);\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 this.setFloat2(uniformName, vector2.x, vector2.y);\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.uniformBuffer || !this._leftOverUniformsByName[uniformName]) {\n return;\n }\n this.uniformBuffer.updateFloat2(uniformName, x, y);\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 this.setFloat3(uniformName, vector3.x, vector3.y, vector3.z);\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.uniformBuffer || !this._leftOverUniformsByName[uniformName]) {\n return;\n }\n this.uniformBuffer.updateFloat3(uniformName, x, y, z);\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 this.setFloat4(uniformName, vector4.x, vector4.y, vector4.z, vector4.w);\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 this.setFloat4(uniformName, quaternion.x, quaternion.y, quaternion.z, quaternion.w);\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.uniformBuffer || !this._leftOverUniformsByName[uniformName]) {\n return;\n }\n this.uniformBuffer.updateFloat4(uniformName, x, y, z, w);\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 this.setFloat3(uniformName, color3.r, color3.g, color3.b);\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 this.setFloat4(uniformName, color3.r, color3.g, color3.b, alpha);\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 this.setFloat4(uniformName, color4.r, color4.g, color4.b, color4.a);\n }\n _getVertexShaderCode() {\n return this.sources?.vertex;\n }\n _getFragmentShaderCode() {\n return this.sources?.fragment;\n }\n}\n"],"mappings":"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","ignoreList":[]},"metadata":{},"sourceType":"module","externalDependencies":[]}
|