{"ast":null,"code":"import { NodeMaterialBlock } from \"../../nodeMaterialBlock.js\";\nimport { NodeMaterialBlockConnectionPointTypes } from \"../../Enums/nodeMaterialBlockConnectionPointTypes.js\";\nimport { NodeMaterialBlockTargets } from \"../../Enums/nodeMaterialBlockTargets.js\";\nimport { InputBlock } from \"../Input/inputBlock.js\";\nimport { RegisterClass } from \"../../../../Misc/typeStore.js\";\nimport { Texture } from \"../../../Textures/texture.js\";\n/**\n * Base block used for the particle texture\n */\nexport class ParticleTextureBlock extends NodeMaterialBlock {\n /**\n * Create a new ParticleTextureBlock\n * @param name defines the block name\n */\n constructor(name) {\n super(name, NodeMaterialBlockTargets.Fragment);\n this._samplerName = \"diffuseSampler\";\n /**\n * Gets or sets a boolean indicating if content needs to be converted to gamma space\n */\n this.convertToGammaSpace = false;\n /**\n * Gets or sets a boolean indicating if content needs to be converted to linear space\n */\n this.convertToLinearSpace = false;\n this._isUnique = false;\n this.registerInput(\"uv\", NodeMaterialBlockConnectionPointTypes.AutoDetect, false, NodeMaterialBlockTargets.VertexAndFragment);\n this.registerOutput(\"rgba\", NodeMaterialBlockConnectionPointTypes.Color4, NodeMaterialBlockTargets.Neutral);\n this.registerOutput(\"rgb\", NodeMaterialBlockConnectionPointTypes.Color3, NodeMaterialBlockTargets.Neutral);\n this.registerOutput(\"r\", NodeMaterialBlockConnectionPointTypes.Float, NodeMaterialBlockTargets.Neutral);\n this.registerOutput(\"g\", NodeMaterialBlockConnectionPointTypes.Float, NodeMaterialBlockTargets.Neutral);\n this.registerOutput(\"b\", NodeMaterialBlockConnectionPointTypes.Float, NodeMaterialBlockTargets.Neutral);\n this.registerOutput(\"a\", NodeMaterialBlockConnectionPointTypes.Float, NodeMaterialBlockTargets.Neutral);\n this._inputs[0].addExcludedConnectionPointFromAllowedTypes(NodeMaterialBlockConnectionPointTypes.Vector2 | NodeMaterialBlockConnectionPointTypes.Vector3 | NodeMaterialBlockConnectionPointTypes.Vector4);\n }\n /**\n * Gets the current class name\n * @returns the class name\n */\n getClassName() {\n return \"ParticleTextureBlock\";\n }\n /**\n * Gets the uv input component\n */\n get uv() {\n return this._inputs[0];\n }\n /**\n * Gets the rgba output component\n */\n get rgba() {\n return this._outputs[0];\n }\n /**\n * Gets the rgb output component\n */\n get rgb() {\n return this._outputs[1];\n }\n /**\n * Gets the r output component\n */\n get r() {\n return this._outputs[2];\n }\n /**\n * Gets the g output component\n */\n get g() {\n return this._outputs[3];\n }\n /**\n * Gets the b output component\n */\n get b() {\n return this._outputs[4];\n }\n /**\n * Gets the a output component\n */\n get a() {\n return this._outputs[5];\n }\n /**\n * Initialize the block and prepare the context for build\n * @param state defines the state that will be used for the build\n */\n initialize(state) {\n state._excludeVariableName(\"diffuseSampler\");\n }\n autoConfigure(material, additionalFilteringInfo = () => true) {\n if (!this.uv.isConnected) {\n let uvInput = material.getInputBlockByPredicate(b => b.isAttribute && b.name === \"particle_uv\" && additionalFilteringInfo(b));\n if (!uvInput) {\n uvInput = new InputBlock(\"uv\");\n uvInput.setAsAttribute(\"particle_uv\");\n }\n uvInput.output.connectTo(this.uv);\n }\n }\n prepareDefines(mesh, nodeMaterial, defines) {\n defines.setValue(this._linearDefineName, this.convertToGammaSpace, true);\n defines.setValue(this._gammaDefineName, this.convertToLinearSpace, true);\n }\n isReady() {\n if (this.texture && !this.texture.isReadyOrNotBlocking()) {\n return false;\n }\n return true;\n }\n _writeOutput(state, output, swizzle) {\n state.compilationString += `${state._declareOutput(output)} = ${this._tempTextureRead}.${swizzle};\\n`;\n state.compilationString += `#ifdef ${this._linearDefineName}\\n`;\n state.compilationString += `${output.associatedVariableName} = toGammaSpace(${output.associatedVariableName});\\n`;\n state.compilationString += `#endif\\n`;\n state.compilationString += `#ifdef ${this._gammaDefineName}\\n`;\n state.compilationString += `${output.associatedVariableName} = toLinearSpace(${output.associatedVariableName});\\n`;\n state.compilationString += `#endif\\n`;\n }\n _buildBlock(state) {\n super._buildBlock(state);\n if (state.target === NodeMaterialBlockTargets.Vertex) {\n return;\n }\n this._tempTextureRead = state._getFreeVariableName(\"tempTextureRead\");\n state._emit2DSampler(this._samplerName);\n state.sharedData.blockingBlocks.push(this);\n state.sharedData.textureBlocks.push(this);\n state.sharedData.blocksWithDefines.push(this);\n this._linearDefineName = state._getFreeDefineName(\"ISLINEAR\");\n this._gammaDefineName = state._getFreeDefineName(\"ISGAMMA\");\n const comments = `//${this.name}`;\n state._emitFunctionFromInclude(\"helperFunctions\", comments);\n state.compilationString += `${state._declareLocalVar(this._tempTextureRead, NodeMaterialBlockConnectionPointTypes.Vector4)} = ${state._generateTextureSample(this.uv.associatedVariableName, this._samplerName)};\\n`;\n for (const output of this._outputs) {\n if (output.hasEndpoints) {\n this._writeOutput(state, output, output.name);\n }\n }\n return this;\n }\n serialize() {\n const serializationObject = super.serialize();\n serializationObject.convertToGammaSpace = this.convertToGammaSpace;\n serializationObject.convertToLinearSpace = this.convertToLinearSpace;\n if (this.texture && !this.texture.isRenderTarget) {\n serializationObject.texture = this.texture.serialize();\n }\n return serializationObject;\n }\n _deserialize(serializationObject, scene, rootUrl) {\n super._deserialize(serializationObject, scene, rootUrl);\n this.convertToGammaSpace = serializationObject.convertToGammaSpace;\n this.convertToLinearSpace = !!serializationObject.convertToLinearSpace;\n if (serializationObject.texture) {\n rootUrl = serializationObject.texture.url.indexOf(\"data:\") === 0 ? \"\" : rootUrl;\n this.texture = Texture.Parse(serializationObject.texture, scene, rootUrl);\n }\n }\n}\nRegisterClass(\"BABYLON.ParticleTextureBlock\", ParticleTextureBlock);","map":{"version":3,"names":["NodeMaterialBlock","NodeMaterialBlockConnectionPointTypes","NodeMaterialBlockTargets","InputBlock","RegisterClass","Texture","ParticleTextureBlock","constructor","name","Fragment","_samplerName","convertToGammaSpace","convertToLinearSpace","_isUnique","registerInput","AutoDetect","VertexAndFragment","registerOutput","Color4","Neutral","Color3","Float","_inputs","addExcludedConnectionPointFromAllowedTypes","Vector2","Vector3","Vector4","getClassName","uv","rgba","_outputs","rgb","r","g","b","a","initialize","state","_excludeVariableName","autoConfigure","material","additionalFilteringInfo","isConnected","uvInput","getInputBlockByPredicate","isAttribute","setAsAttribute","output","connectTo","prepareDefines","mesh","nodeMaterial","defines","setValue","_linearDefineName","_gammaDefineName","isReady","texture","isReadyOrNotBlocking","_writeOutput","swizzle","compilationString","_declareOutput","_tempTextureRead","associatedVariableName","_buildBlock","target","Vertex","_getFreeVariableName","_emit2DSampler","sharedData","blockingBlocks","push","textureBlocks","blocksWithDefines","_getFreeDefineName","comments","_emitFunctionFromInclude","_declareLocalVar","_generateTextureSample","hasEndpoints","serialize","serializationObject","isRenderTarget","_deserialize","scene","rootUrl","url","indexOf","Parse"],"sources":["F:/workspace/202226701027/huinongbao-app/node_modules/@babylonjs/core/Materials/Node/Blocks/Particle/particleTextureBlock.js"],"sourcesContent":["import { NodeMaterialBlock } from \"../../nodeMaterialBlock.js\";\nimport { NodeMaterialBlockConnectionPointTypes } from \"../../Enums/nodeMaterialBlockConnectionPointTypes.js\";\nimport { NodeMaterialBlockTargets } from \"../../Enums/nodeMaterialBlockTargets.js\";\nimport { InputBlock } from \"../Input/inputBlock.js\";\nimport { RegisterClass } from \"../../../../Misc/typeStore.js\";\nimport { Texture } from \"../../../Textures/texture.js\";\n/**\n * Base block used for the particle texture\n */\nexport class ParticleTextureBlock extends NodeMaterialBlock {\n /**\n * Create a new ParticleTextureBlock\n * @param name defines the block name\n */\n constructor(name) {\n super(name, NodeMaterialBlockTargets.Fragment);\n this._samplerName = \"diffuseSampler\";\n /**\n * Gets or sets a boolean indicating if content needs to be converted to gamma space\n */\n this.convertToGammaSpace = false;\n /**\n * Gets or sets a boolean indicating if content needs to be converted to linear space\n */\n this.convertToLinearSpace = false;\n this._isUnique = false;\n this.registerInput(\"uv\", NodeMaterialBlockConnectionPointTypes.AutoDetect, false, NodeMaterialBlockTargets.VertexAndFragment);\n this.registerOutput(\"rgba\", NodeMaterialBlockConnectionPointTypes.Color4, NodeMaterialBlockTargets.Neutral);\n this.registerOutput(\"rgb\", NodeMaterialBlockConnectionPointTypes.Color3, NodeMaterialBlockTargets.Neutral);\n this.registerOutput(\"r\", NodeMaterialBlockConnectionPointTypes.Float, NodeMaterialBlockTargets.Neutral);\n this.registerOutput(\"g\", NodeMaterialBlockConnectionPointTypes.Float, NodeMaterialBlockTargets.Neutral);\n this.registerOutput(\"b\", NodeMaterialBlockConnectionPointTypes.Float, NodeMaterialBlockTargets.Neutral);\n this.registerOutput(\"a\", NodeMaterialBlockConnectionPointTypes.Float, NodeMaterialBlockTargets.Neutral);\n this._inputs[0].addExcludedConnectionPointFromAllowedTypes(NodeMaterialBlockConnectionPointTypes.Vector2 | NodeMaterialBlockConnectionPointTypes.Vector3 | NodeMaterialBlockConnectionPointTypes.Vector4);\n }\n /**\n * Gets the current class name\n * @returns the class name\n */\n getClassName() {\n return \"ParticleTextureBlock\";\n }\n /**\n * Gets the uv input component\n */\n get uv() {\n return this._inputs[0];\n }\n /**\n * Gets the rgba output component\n */\n get rgba() {\n return this._outputs[0];\n }\n /**\n * Gets the rgb output component\n */\n get rgb() {\n return this._outputs[1];\n }\n /**\n * Gets the r output component\n */\n get r() {\n return this._outputs[2];\n }\n /**\n * Gets the g output component\n */\n get g() {\n return this._outputs[3];\n }\n /**\n * Gets the b output component\n */\n get b() {\n return this._outputs[4];\n }\n /**\n * Gets the a output component\n */\n get a() {\n return this._outputs[5];\n }\n /**\n * Initialize the block and prepare the context for build\n * @param state defines the state that will be used for the build\n */\n initialize(state) {\n state._excludeVariableName(\"diffuseSampler\");\n }\n autoConfigure(material, additionalFilteringInfo = () => true) {\n if (!this.uv.isConnected) {\n let uvInput = material.getInputBlockByPredicate((b) => b.isAttribute && b.name === \"particle_uv\" && additionalFilteringInfo(b));\n if (!uvInput) {\n uvInput = new InputBlock(\"uv\");\n uvInput.setAsAttribute(\"particle_uv\");\n }\n uvInput.output.connectTo(this.uv);\n }\n }\n prepareDefines(mesh, nodeMaterial, defines) {\n defines.setValue(this._linearDefineName, this.convertToGammaSpace, true);\n defines.setValue(this._gammaDefineName, this.convertToLinearSpace, true);\n }\n isReady() {\n if (this.texture && !this.texture.isReadyOrNotBlocking()) {\n return false;\n }\n return true;\n }\n _writeOutput(state, output, swizzle) {\n state.compilationString += `${state._declareOutput(output)} = ${this._tempTextureRead}.${swizzle};\\n`;\n state.compilationString += `#ifdef ${this._linearDefineName}\\n`;\n state.compilationString += `${output.associatedVariableName} = toGammaSpace(${output.associatedVariableName});\\n`;\n state.compilationString += `#endif\\n`;\n state.compilationString += `#ifdef ${this._gammaDefineName}\\n`;\n state.compilationString += `${output.associatedVariableName} = toLinearSpace(${output.associatedVariableName});\\n`;\n state.compilationString += `#endif\\n`;\n }\n _buildBlock(state) {\n super._buildBlock(state);\n if (state.target === NodeMaterialBlockTargets.Vertex) {\n return;\n }\n this._tempTextureRead = state._getFreeVariableName(\"tempTextureRead\");\n state._emit2DSampler(this._samplerName);\n state.sharedData.blockingBlocks.push(this);\n state.sharedData.textureBlocks.push(this);\n state.sharedData.blocksWithDefines.push(this);\n this._linearDefineName = state._getFreeDefineName(\"ISLINEAR\");\n this._gammaDefineName = state._getFreeDefineName(\"ISGAMMA\");\n const comments = `//${this.name}`;\n state._emitFunctionFromInclude(\"helperFunctions\", comments);\n state.compilationString += `${state._declareLocalVar(this._tempTextureRead, NodeMaterialBlockConnectionPointTypes.Vector4)} = ${state._generateTextureSample(this.uv.associatedVariableName, this._samplerName)};\\n`;\n for (const output of this._outputs) {\n if (output.hasEndpoints) {\n this._writeOutput(state, output, output.name);\n }\n }\n return this;\n }\n serialize() {\n const serializationObject = super.serialize();\n serializationObject.convertToGammaSpace = this.convertToGammaSpace;\n serializationObject.convertToLinearSpace = this.convertToLinearSpace;\n if (this.texture && !this.texture.isRenderTarget) {\n serializationObject.texture = this.texture.serialize();\n }\n return serializationObject;\n }\n _deserialize(serializationObject, scene, rootUrl) {\n super._deserialize(serializationObject, scene, rootUrl);\n this.convertToGammaSpace = serializationObject.convertToGammaSpace;\n this.convertToLinearSpace = !!serializationObject.convertToLinearSpace;\n if (serializationObject.texture) {\n rootUrl = serializationObject.texture.url.indexOf(\"data:\") === 0 ? \"\" : rootUrl;\n this.texture = Texture.Parse(serializationObject.texture, scene, rootUrl);\n }\n }\n}\nRegisterClass(\"BABYLON.ParticleTextureBlock\", ParticleTextureBlock);\n"],"mappings":"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","ignoreList":[]},"metadata":{},"sourceType":"module","externalDependencies":[]}