1 |
- {"ast":null,"code":"import { NodeMaterialBlock } from \"../../nodeMaterialBlock.js\";\nimport { NodeMaterialBlockConnectionPointTypes } from \"../../Enums/nodeMaterialBlockConnectionPointTypes.js\";\nimport { NodeMaterialBlockTargets } from \"../../Enums/nodeMaterialBlockTargets.js\";\nimport { RegisterClass } from \"../../../../Misc/typeStore.js\";\nimport { Texture } from \"../../../Textures/texture.js\";\n\n/**\n * Base block used as input for post process\n */\nexport class CurrentScreenBlock extends NodeMaterialBlock {\n /**\n * Create a new CurrentScreenBlock\n * @param name defines the block name\n */\n constructor(name) {\n super(name, NodeMaterialBlockTargets.VertexAndFragment);\n this._samplerName = \"textureSampler\";\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 this._inputs[0]._prioritizeVertex = false;\n }\n /**\n * Gets the current class name\n * @returns the class name\n */\n getClassName() {\n return \"CurrentScreenBlock\";\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(this._samplerName);\n }\n get target() {\n if (!this.uv.isConnected) {\n return NodeMaterialBlockTargets.VertexAndFragment;\n }\n if (this.uv.sourceBlock.isInput) {\n return NodeMaterialBlockTargets.VertexAndFragment;\n }\n return NodeMaterialBlockTargets.Fragment;\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 _injectVertexCode(state) {\n const uvInput = this.uv;\n if (uvInput.connectedPoint.ownerBlock.isInput) {\n const uvInputOwnerBlock = uvInput.connectedPoint.ownerBlock;\n if (!uvInputOwnerBlock.isAttribute) {\n state._emitUniformFromString(uvInput.associatedVariableName, NodeMaterialBlockConnectionPointTypes.Vector2);\n }\n }\n this._mainUVName = \"vMain\" + uvInput.associatedVariableName;\n state._emitVaryingFromString(this._mainUVName, NodeMaterialBlockConnectionPointTypes.Vector2);\n state.compilationString += `${this._mainUVName} = ${uvInput.associatedVariableName}.xy;\\n`;\n if (!this._outputs.some(o => o.isConnectedInVertexShader)) {\n return;\n }\n this._writeTextureRead(state, true);\n for (const output of this._outputs) {\n if (output.hasEndpoints) {\n this._writeOutput(state, output, output.name, true);\n }\n }\n }\n _writeTextureRead(state, vertexMode = false) {\n const uvInput = this.uv;\n if (vertexMode) {\n if (state.target === NodeMaterialBlockTargets.Fragment) {\n return;\n }\n const textureReadFunc = state.shaderLanguage === 0 /* ShaderLanguage.GLSL */ ? `texture2D(${this._samplerName},` : `textureSampleLevel(${this._samplerName}, ${this._samplerName + `Sampler`},`;\n const complement = state.shaderLanguage === 0 /* ShaderLanguage.GLSL */ ? \"\" : \", 0\";\n state.compilationString += `${state._declareLocalVar(this._tempTextureRead, NodeMaterialBlockConnectionPointTypes.Vector4)} = ${textureReadFunc} ${uvInput.associatedVariableName}${complement});\\n`;\n return;\n }\n const textureReadFunc = state.shaderLanguage === 0 /* ShaderLanguage.GLSL */ ? `texture2D(${this._samplerName},` : `textureSample(${this._samplerName}, ${this._samplerName + `Sampler`},`;\n if (this.uv.ownerBlock.target === NodeMaterialBlockTargets.Fragment) {\n state.compilationString += `${state._declareLocalVar(this._tempTextureRead, NodeMaterialBlockConnectionPointTypes.Vector4)} = ${textureReadFunc} ${uvInput.associatedVariableName});\\n`;\n return;\n }\n state.compilationString += `${state._declareLocalVar(this._tempTextureRead, NodeMaterialBlockConnectionPointTypes.Vector4)} = ${textureReadFunc} ${this._mainUVName});\\n`;\n }\n _writeOutput(state, output, swizzle, vertexMode = false) {\n if (vertexMode) {\n if (state.target === NodeMaterialBlockTargets.Fragment) {\n return;\n }\n state.compilationString += `${state._declareOutput(output)} = ${this._tempTextureRead}.${swizzle};\\n`;\n return;\n }\n if (this.uv.ownerBlock.target === NodeMaterialBlockTargets.Fragment) {\n state.compilationString += `${state._declareOutput(output)} = ${this._tempTextureRead}.${swizzle};\\n`;\n return;\n }\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 this._tempTextureRead = state._getFreeVariableName(\"tempTextureRead\");\n if (state.sharedData.blockingBlocks.indexOf(this) < 0) {\n state.sharedData.blockingBlocks.push(this);\n }\n if (state.sharedData.textureBlocks.indexOf(this) < 0) {\n state.sharedData.textureBlocks.push(this);\n }\n if (state.sharedData.blocksWithDefines.indexOf(this) < 0) {\n state.sharedData.blocksWithDefines.push(this);\n }\n if (state.target !== NodeMaterialBlockTargets.Fragment) {\n // Vertex\n state._emit2DSampler(this._samplerName);\n this._injectVertexCode(state);\n return;\n }\n // Fragment\n if (!this._outputs.some(o => o.isConnectedInFragmentShader)) {\n return;\n }\n state._emit2DSampler(this._samplerName);\n this._linearDefineName = state._getFreeDefineName(\"ISLINEAR\");\n this._gammaDefineName = state._getFreeDefineName(\"ISGAMMA\");\n const comments = `//${this.name}`;\n state._emitFunctionFromInclude(\"helperFunctions\", comments);\n this._writeTextureRead(state);\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.CurrentScreenBlock\", CurrentScreenBlock);","map":{"version":3,"names":["NodeMaterialBlock","NodeMaterialBlockConnectionPointTypes","NodeMaterialBlockTargets","RegisterClass","Texture","CurrentScreenBlock","constructor","name","VertexAndFragment","_samplerName","convertToGammaSpace","convertToLinearSpace","_isUnique","registerInput","AutoDetect","registerOutput","Color4","Neutral","Color3","Float","_inputs","addExcludedConnectionPointFromAllowedTypes","Vector2","Vector3","Vector4","_prioritizeVertex","getClassName","uv","rgba","_outputs","rgb","r","g","b","a","initialize","state","_excludeVariableName","target","isConnected","sourceBlock","isInput","Fragment","prepareDefines","mesh","nodeMaterial","defines","setValue","_linearDefineName","_gammaDefineName","isReady","texture","isReadyOrNotBlocking","_injectVertexCode","uvInput","connectedPoint","ownerBlock","uvInputOwnerBlock","isAttribute","_emitUniformFromString","associatedVariableName","_mainUVName","_emitVaryingFromString","compilationString","some","o","isConnectedInVertexShader","_writeTextureRead","output","hasEndpoints","_writeOutput","vertexMode","textureReadFunc","shaderLanguage","complement","_declareLocalVar","_tempTextureRead","swizzle","_declareOutput","_buildBlock","_getFreeVariableName","sharedData","blockingBlocks","indexOf","push","textureBlocks","blocksWithDefines","_emit2DSampler","isConnectedInFragmentShader","_getFreeDefineName","comments","_emitFunctionFromInclude","serialize","serializationObject","isRenderTarget","_deserialize","scene","rootUrl","url","Parse"],"sources":["F:/workspace/202226701027/huinongbao-app/node_modules/@babylonjs/core/Materials/Node/Blocks/Dual/currentScreenBlock.js"],"sourcesContent":["import { NodeMaterialBlock } from \"../../nodeMaterialBlock.js\";\nimport { NodeMaterialBlockConnectionPointTypes } from \"../../Enums/nodeMaterialBlockConnectionPointTypes.js\";\nimport { NodeMaterialBlockTargets } from \"../../Enums/nodeMaterialBlockTargets.js\";\nimport { RegisterClass } from \"../../../../Misc/typeStore.js\";\nimport { Texture } from \"../../../Textures/texture.js\";\n\n/**\n * Base block used as input for post process\n */\nexport class CurrentScreenBlock extends NodeMaterialBlock {\n /**\n * Create a new CurrentScreenBlock\n * @param name defines the block name\n */\n constructor(name) {\n super(name, NodeMaterialBlockTargets.VertexAndFragment);\n this._samplerName = \"textureSampler\";\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 this._inputs[0]._prioritizeVertex = false;\n }\n /**\n * Gets the current class name\n * @returns the class name\n */\n getClassName() {\n return \"CurrentScreenBlock\";\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(this._samplerName);\n }\n get target() {\n if (!this.uv.isConnected) {\n return NodeMaterialBlockTargets.VertexAndFragment;\n }\n if (this.uv.sourceBlock.isInput) {\n return NodeMaterialBlockTargets.VertexAndFragment;\n }\n return NodeMaterialBlockTargets.Fragment;\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 _injectVertexCode(state) {\n const uvInput = this.uv;\n if (uvInput.connectedPoint.ownerBlock.isInput) {\n const uvInputOwnerBlock = uvInput.connectedPoint.ownerBlock;\n if (!uvInputOwnerBlock.isAttribute) {\n state._emitUniformFromString(uvInput.associatedVariableName, NodeMaterialBlockConnectionPointTypes.Vector2);\n }\n }\n this._mainUVName = \"vMain\" + uvInput.associatedVariableName;\n state._emitVaryingFromString(this._mainUVName, NodeMaterialBlockConnectionPointTypes.Vector2);\n state.compilationString += `${this._mainUVName} = ${uvInput.associatedVariableName}.xy;\\n`;\n if (!this._outputs.some((o) => o.isConnectedInVertexShader)) {\n return;\n }\n this._writeTextureRead(state, true);\n for (const output of this._outputs) {\n if (output.hasEndpoints) {\n this._writeOutput(state, output, output.name, true);\n }\n }\n }\n _writeTextureRead(state, vertexMode = false) {\n const uvInput = this.uv;\n if (vertexMode) {\n if (state.target === NodeMaterialBlockTargets.Fragment) {\n return;\n }\n const textureReadFunc = state.shaderLanguage === 0 /* ShaderLanguage.GLSL */\n ? `texture2D(${this._samplerName},`\n : `textureSampleLevel(${this._samplerName}, ${this._samplerName + `Sampler`},`;\n const complement = state.shaderLanguage === 0 /* ShaderLanguage.GLSL */ ? \"\" : \", 0\";\n state.compilationString += `${state._declareLocalVar(this._tempTextureRead, NodeMaterialBlockConnectionPointTypes.Vector4)} = ${textureReadFunc} ${uvInput.associatedVariableName}${complement});\\n`;\n return;\n }\n const textureReadFunc = state.shaderLanguage === 0 /* ShaderLanguage.GLSL */\n ? `texture2D(${this._samplerName},`\n : `textureSample(${this._samplerName}, ${this._samplerName + `Sampler`},`;\n if (this.uv.ownerBlock.target === NodeMaterialBlockTargets.Fragment) {\n state.compilationString += `${state._declareLocalVar(this._tempTextureRead, NodeMaterialBlockConnectionPointTypes.Vector4)} = ${textureReadFunc} ${uvInput.associatedVariableName});\\n`;\n return;\n }\n state.compilationString += `${state._declareLocalVar(this._tempTextureRead, NodeMaterialBlockConnectionPointTypes.Vector4)} = ${textureReadFunc} ${this._mainUVName});\\n`;\n }\n _writeOutput(state, output, swizzle, vertexMode = false) {\n if (vertexMode) {\n if (state.target === NodeMaterialBlockTargets.Fragment) {\n return;\n }\n state.compilationString += `${state._declareOutput(output)} = ${this._tempTextureRead}.${swizzle};\\n`;\n return;\n }\n if (this.uv.ownerBlock.target === NodeMaterialBlockTargets.Fragment) {\n state.compilationString += `${state._declareOutput(output)} = ${this._tempTextureRead}.${swizzle};\\n`;\n return;\n }\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 this._tempTextureRead = state._getFreeVariableName(\"tempTextureRead\");\n if (state.sharedData.blockingBlocks.indexOf(this) < 0) {\n state.sharedData.blockingBlocks.push(this);\n }\n if (state.sharedData.textureBlocks.indexOf(this) < 0) {\n state.sharedData.textureBlocks.push(this);\n }\n if (state.sharedData.blocksWithDefines.indexOf(this) < 0) {\n state.sharedData.blocksWithDefines.push(this);\n }\n if (state.target !== NodeMaterialBlockTargets.Fragment) {\n // Vertex\n state._emit2DSampler(this._samplerName);\n this._injectVertexCode(state);\n return;\n }\n // Fragment\n if (!this._outputs.some((o) => o.isConnectedInFragmentShader)) {\n return;\n }\n state._emit2DSampler(this._samplerName);\n this._linearDefineName = state._getFreeDefineName(\"ISLINEAR\");\n this._gammaDefineName = state._getFreeDefineName(\"ISGAMMA\");\n const comments = `//${this.name}`;\n state._emitFunctionFromInclude(\"helperFunctions\", comments);\n this._writeTextureRead(state);\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.CurrentScreenBlock\", CurrentScreenBlock);\n"],"mappings":"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","ignoreList":[]},"metadata":{},"sourceType":"module","externalDependencies":[]}
|