91df066a564ffd7718e8275c2051fb42ffd0e926d2398abefb63391a6847160c.json 22 KB

1
  1. {"ast":null,"code":"import _asyncToGenerator from \"F:/workspace/202226701027/huinongbao-app/node_modules/@babel/runtime/helpers/esm/asyncToGenerator.js\";\nimport { NodeMaterialBlock } from \"../../nodeMaterialBlock.js\";\nimport { NodeMaterialBlockConnectionPointTypes } from \"../../Enums/nodeMaterialBlockConnectionPointTypes.js\";\nimport { NodeMaterialSystemValues } from \"../../Enums/nodeMaterialSystemValues.js\";\nimport { NodeMaterialBlockTargets } from \"../../Enums/nodeMaterialBlockTargets.js\";\nimport { InputBlock } from \"../Input/inputBlock.js\";\nimport { RegisterClass } from \"../../../../Misc/typeStore.js\";\nimport { GetFogState } from \"../../../materialHelper.functions.js\";\n/**\n * Block used to add support for scene fog\n */\nexport class FogBlock extends NodeMaterialBlock {\n /**\n * Create a new FogBlock\n * @param name defines the block name\n */\n constructor(name) {\n super(name, NodeMaterialBlockTargets.VertexAndFragment, false);\n // Vertex\n this.registerInput(\"worldPosition\", NodeMaterialBlockConnectionPointTypes.Vector4, false, NodeMaterialBlockTargets.Vertex);\n this.registerInput(\"view\", NodeMaterialBlockConnectionPointTypes.Matrix, false, NodeMaterialBlockTargets.Vertex);\n // Fragment\n this.registerInput(\"input\", NodeMaterialBlockConnectionPointTypes.AutoDetect, false, NodeMaterialBlockTargets.Fragment);\n this.registerInput(\"fogColor\", NodeMaterialBlockConnectionPointTypes.AutoDetect, false, NodeMaterialBlockTargets.Fragment);\n this.registerOutput(\"output\", NodeMaterialBlockConnectionPointTypes.Color3, NodeMaterialBlockTargets.Fragment);\n this.input.addExcludedConnectionPointFromAllowedTypes(NodeMaterialBlockConnectionPointTypes.Color3 | NodeMaterialBlockConnectionPointTypes.Vector3 | NodeMaterialBlockConnectionPointTypes.Color4);\n this.fogColor.addExcludedConnectionPointFromAllowedTypes(NodeMaterialBlockConnectionPointTypes.Color3 | NodeMaterialBlockConnectionPointTypes.Vector3 | NodeMaterialBlockConnectionPointTypes.Color4);\n }\n /**\n * Gets the current class name\n * @returns the class name\n */\n getClassName() {\n return \"FogBlock\";\n }\n /**\n * Gets the world position input component\n */\n get worldPosition() {\n return this._inputs[0];\n }\n /**\n * Gets the view input component\n */\n get view() {\n return this._inputs[1];\n }\n /**\n * Gets the color input component\n */\n get input() {\n return this._inputs[2];\n }\n /**\n * Gets the fog color input component\n */\n get fogColor() {\n return this._inputs[3];\n }\n /**\n * Gets the output component\n */\n get output() {\n return this._outputs[0];\n }\n initialize(state) {\n this._initShaderSourceAsync(state.shaderLanguage);\n }\n _initShaderSourceAsync(shaderLanguage) {\n var _this = this;\n return _asyncToGenerator(function* () {\n _this._codeIsReady = false;\n if (shaderLanguage === 1 /* ShaderLanguage.WGSL */) {\n yield import(\"../../../../ShadersWGSL/ShadersInclude/fogFragmentDeclaration.js\");\n } else {\n yield import(\"../../../../Shaders/ShadersInclude/fogFragmentDeclaration.js\");\n }\n _this._codeIsReady = true;\n _this.onCodeIsReadyObservable.notifyObservers(_this);\n })();\n }\n autoConfigure(material, additionalFilteringInfo = () => true) {\n if (!this.view.isConnected) {\n let viewInput = material.getInputBlockByPredicate(b => b.systemValue === NodeMaterialSystemValues.View && additionalFilteringInfo(b));\n if (!viewInput) {\n viewInput = new InputBlock(\"view\");\n viewInput.setAsSystemValue(NodeMaterialSystemValues.View);\n }\n viewInput.output.connectTo(this.view);\n }\n if (!this.fogColor.isConnected) {\n let fogColorInput = material.getInputBlockByPredicate(b => b.systemValue === NodeMaterialSystemValues.FogColor && additionalFilteringInfo(b));\n if (!fogColorInput) {\n fogColorInput = new InputBlock(\"fogColor\", undefined, NodeMaterialBlockConnectionPointTypes.Color3);\n fogColorInput.setAsSystemValue(NodeMaterialSystemValues.FogColor);\n }\n fogColorInput.output.connectTo(this.fogColor);\n }\n }\n prepareDefines(mesh, nodeMaterial, defines) {\n const scene = mesh.getScene();\n defines.setValue(\"FOG\", nodeMaterial.fogEnabled && GetFogState(mesh, scene));\n }\n bind(effect, nodeMaterial, mesh) {\n if (!mesh) {\n return;\n }\n const scene = mesh.getScene();\n effect.setFloat4(this._fogParameters, scene.fogMode, scene.fogStart, scene.fogEnd, scene.fogDensity);\n }\n _buildBlock(state) {\n super._buildBlock(state);\n if (state.target === NodeMaterialBlockTargets.Fragment) {\n state.sharedData.blocksWithDefines.push(this);\n state.sharedData.bindableBlocks.push(this);\n let replaceStrings = [];\n let prefix1 = \"\";\n let prefix2 = \"\";\n if (state.shaderLanguage === 1 /* ShaderLanguage.WGSL */) {\n replaceStrings = [{\n search: /fn CalcFogFactor\\(\\)/,\n replace: \"fn CalcFogFactor(vFogDistance: vec3f, vFogInfos: vec4f)\"\n }, {\n search: /uniforms.vFogInfos/g,\n replace: \"vFogInfos\"\n }, {\n search: /fragmentInputs.vFogDistance/g,\n replace: \"vFogDistance\"\n }];\n prefix1 = \"fragmentInputs.\";\n prefix2 = \"uniforms.\";\n } else {\n replaceStrings = [{\n search: /float CalcFogFactor\\(\\)/,\n replace: \"float CalcFogFactor(vec3 vFogDistance, vec4 vFogInfos)\"\n }];\n }\n state._emitFunctionFromInclude(\"fogFragmentDeclaration\", `//${this.name}`, {\n removeUniforms: true,\n removeVaryings: true,\n removeIfDef: false,\n replaceStrings: replaceStrings\n });\n const tempFogVariablename = state._getFreeVariableName(\"fog\");\n const color = this.input;\n const fogColor = this.fogColor;\n this._fogParameters = state._getFreeVariableName(\"fogParameters\");\n const output = this._outputs[0];\n state._emitUniformFromString(this._fogParameters, NodeMaterialBlockConnectionPointTypes.Vector4);\n state.compilationString += `#ifdef FOG\\n`;\n state.compilationString += `${state._declareLocalVar(tempFogVariablename, NodeMaterialBlockConnectionPointTypes.Float)} = CalcFogFactor(${prefix1}${this._fogDistanceName}, ${prefix2}${this._fogParameters});\\n`;\n state.compilationString += state._declareOutput(output) + ` = ${tempFogVariablename} * ${color.associatedVariableName}.rgb + (1.0 - ${tempFogVariablename}) * ${fogColor.associatedVariableName}.rgb;\\n`;\n state.compilationString += `#else\\n${state._declareOutput(output)} = ${color.associatedVariableName}.rgb;\\n`;\n state.compilationString += `#endif\\n`;\n } else {\n const worldPos = this.worldPosition;\n const view = this.view;\n this._fogDistanceName = state._getFreeVariableName(\"vFogDistance\");\n state._emitVaryingFromString(this._fogDistanceName, NodeMaterialBlockConnectionPointTypes.Vector3);\n const prefix = state.shaderLanguage === 1 /* ShaderLanguage.WGSL */ ? \"vertexOutputs.\" : \"\";\n state.compilationString += `${prefix}${this._fogDistanceName} = (${view.associatedVariableName} * ${worldPos.associatedVariableName}).xyz;\\n`;\n }\n return this;\n }\n}\nRegisterClass(\"BABYLON.FogBlock\", FogBlock);","map":{"version":3,"names":["NodeMaterialBlock","NodeMaterialBlockConnectionPointTypes","NodeMaterialSystemValues","NodeMaterialBlockTargets","InputBlock","RegisterClass","GetFogState","FogBlock","constructor","name","VertexAndFragment","registerInput","Vector4","Vertex","Matrix","AutoDetect","Fragment","registerOutput","Color3","input","addExcludedConnectionPointFromAllowedTypes","Vector3","Color4","fogColor","getClassName","worldPosition","_inputs","view","output","_outputs","initialize","state","_initShaderSourceAsync","shaderLanguage","_this","_asyncToGenerator","_codeIsReady","onCodeIsReadyObservable","notifyObservers","autoConfigure","material","additionalFilteringInfo","isConnected","viewInput","getInputBlockByPredicate","b","systemValue","View","setAsSystemValue","connectTo","fogColorInput","FogColor","undefined","prepareDefines","mesh","nodeMaterial","defines","scene","getScene","setValue","fogEnabled","bind","effect","setFloat4","_fogParameters","fogMode","fogStart","fogEnd","fogDensity","_buildBlock","target","sharedData","blocksWithDefines","push","bindableBlocks","replaceStrings","prefix1","prefix2","search","replace","_emitFunctionFromInclude","removeUniforms","removeVaryings","removeIfDef","tempFogVariablename","_getFreeVariableName","color","_emitUniformFromString","compilationString","_declareLocalVar","Float","_fogDistanceName","_declareOutput","associatedVariableName","worldPos","_emitVaryingFromString","prefix"],"sources":["F:/workspace/202226701027/huinongbao-app/node_modules/@babylonjs/core/Materials/Node/Blocks/Dual/fogBlock.js"],"sourcesContent":["import { NodeMaterialBlock } from \"../../nodeMaterialBlock.js\";\nimport { NodeMaterialBlockConnectionPointTypes } from \"../../Enums/nodeMaterialBlockConnectionPointTypes.js\";\nimport { NodeMaterialSystemValues } from \"../../Enums/nodeMaterialSystemValues.js\";\nimport { NodeMaterialBlockTargets } from \"../../Enums/nodeMaterialBlockTargets.js\";\nimport { InputBlock } from \"../Input/inputBlock.js\";\nimport { RegisterClass } from \"../../../../Misc/typeStore.js\";\nimport { GetFogState } from \"../../../materialHelper.functions.js\";\n/**\n * Block used to add support for scene fog\n */\nexport class FogBlock extends NodeMaterialBlock {\n /**\n * Create a new FogBlock\n * @param name defines the block name\n */\n constructor(name) {\n super(name, NodeMaterialBlockTargets.VertexAndFragment, false);\n // Vertex\n this.registerInput(\"worldPosition\", NodeMaterialBlockConnectionPointTypes.Vector4, false, NodeMaterialBlockTargets.Vertex);\n this.registerInput(\"view\", NodeMaterialBlockConnectionPointTypes.Matrix, false, NodeMaterialBlockTargets.Vertex);\n // Fragment\n this.registerInput(\"input\", NodeMaterialBlockConnectionPointTypes.AutoDetect, false, NodeMaterialBlockTargets.Fragment);\n this.registerInput(\"fogColor\", NodeMaterialBlockConnectionPointTypes.AutoDetect, false, NodeMaterialBlockTargets.Fragment);\n this.registerOutput(\"output\", NodeMaterialBlockConnectionPointTypes.Color3, NodeMaterialBlockTargets.Fragment);\n this.input.addExcludedConnectionPointFromAllowedTypes(NodeMaterialBlockConnectionPointTypes.Color3 | NodeMaterialBlockConnectionPointTypes.Vector3 | NodeMaterialBlockConnectionPointTypes.Color4);\n this.fogColor.addExcludedConnectionPointFromAllowedTypes(NodeMaterialBlockConnectionPointTypes.Color3 | NodeMaterialBlockConnectionPointTypes.Vector3 | NodeMaterialBlockConnectionPointTypes.Color4);\n }\n /**\n * Gets the current class name\n * @returns the class name\n */\n getClassName() {\n return \"FogBlock\";\n }\n /**\n * Gets the world position input component\n */\n get worldPosition() {\n return this._inputs[0];\n }\n /**\n * Gets the view input component\n */\n get view() {\n return this._inputs[1];\n }\n /**\n * Gets the color input component\n */\n get input() {\n return this._inputs[2];\n }\n /**\n * Gets the fog color input component\n */\n get fogColor() {\n return this._inputs[3];\n }\n /**\n * Gets the output component\n */\n get output() {\n return this._outputs[0];\n }\n initialize(state) {\n this._initShaderSourceAsync(state.shaderLanguage);\n }\n async _initShaderSourceAsync(shaderLanguage) {\n this._codeIsReady = false;\n if (shaderLanguage === 1 /* ShaderLanguage.WGSL */) {\n await import(\"../../../../ShadersWGSL/ShadersInclude/fogFragmentDeclaration.js\");\n }\n else {\n await import(\"../../../../Shaders/ShadersInclude/fogFragmentDeclaration.js\");\n }\n this._codeIsReady = true;\n this.onCodeIsReadyObservable.notifyObservers(this);\n }\n autoConfigure(material, additionalFilteringInfo = () => true) {\n if (!this.view.isConnected) {\n let viewInput = material.getInputBlockByPredicate((b) => b.systemValue === NodeMaterialSystemValues.View && additionalFilteringInfo(b));\n if (!viewInput) {\n viewInput = new InputBlock(\"view\");\n viewInput.setAsSystemValue(NodeMaterialSystemValues.View);\n }\n viewInput.output.connectTo(this.view);\n }\n if (!this.fogColor.isConnected) {\n let fogColorInput = material.getInputBlockByPredicate((b) => b.systemValue === NodeMaterialSystemValues.FogColor && additionalFilteringInfo(b));\n if (!fogColorInput) {\n fogColorInput = new InputBlock(\"fogColor\", undefined, NodeMaterialBlockConnectionPointTypes.Color3);\n fogColorInput.setAsSystemValue(NodeMaterialSystemValues.FogColor);\n }\n fogColorInput.output.connectTo(this.fogColor);\n }\n }\n prepareDefines(mesh, nodeMaterial, defines) {\n const scene = mesh.getScene();\n defines.setValue(\"FOG\", nodeMaterial.fogEnabled && GetFogState(mesh, scene));\n }\n bind(effect, nodeMaterial, mesh) {\n if (!mesh) {\n return;\n }\n const scene = mesh.getScene();\n effect.setFloat4(this._fogParameters, scene.fogMode, scene.fogStart, scene.fogEnd, scene.fogDensity);\n }\n _buildBlock(state) {\n super._buildBlock(state);\n if (state.target === NodeMaterialBlockTargets.Fragment) {\n state.sharedData.blocksWithDefines.push(this);\n state.sharedData.bindableBlocks.push(this);\n let replaceStrings = [];\n let prefix1 = \"\";\n let prefix2 = \"\";\n if (state.shaderLanguage === 1 /* ShaderLanguage.WGSL */) {\n replaceStrings = [\n { search: /fn CalcFogFactor\\(\\)/, replace: \"fn CalcFogFactor(vFogDistance: vec3f, vFogInfos: vec4f)\" },\n { search: /uniforms.vFogInfos/g, replace: \"vFogInfos\" },\n { search: /fragmentInputs.vFogDistance/g, replace: \"vFogDistance\" },\n ];\n prefix1 = \"fragmentInputs.\";\n prefix2 = \"uniforms.\";\n }\n else {\n replaceStrings = [{ search: /float CalcFogFactor\\(\\)/, replace: \"float CalcFogFactor(vec3 vFogDistance, vec4 vFogInfos)\" }];\n }\n state._emitFunctionFromInclude(\"fogFragmentDeclaration\", `//${this.name}`, {\n removeUniforms: true,\n removeVaryings: true,\n removeIfDef: false,\n replaceStrings: replaceStrings,\n });\n const tempFogVariablename = state._getFreeVariableName(\"fog\");\n const color = this.input;\n const fogColor = this.fogColor;\n this._fogParameters = state._getFreeVariableName(\"fogParameters\");\n const output = this._outputs[0];\n state._emitUniformFromString(this._fogParameters, NodeMaterialBlockConnectionPointTypes.Vector4);\n state.compilationString += `#ifdef FOG\\n`;\n state.compilationString += `${state._declareLocalVar(tempFogVariablename, NodeMaterialBlockConnectionPointTypes.Float)} = CalcFogFactor(${prefix1}${this._fogDistanceName}, ${prefix2}${this._fogParameters});\\n`;\n state.compilationString +=\n state._declareOutput(output) +\n ` = ${tempFogVariablename} * ${color.associatedVariableName}.rgb + (1.0 - ${tempFogVariablename}) * ${fogColor.associatedVariableName}.rgb;\\n`;\n state.compilationString += `#else\\n${state._declareOutput(output)} = ${color.associatedVariableName}.rgb;\\n`;\n state.compilationString += `#endif\\n`;\n }\n else {\n const worldPos = this.worldPosition;\n const view = this.view;\n this._fogDistanceName = state._getFreeVariableName(\"vFogDistance\");\n state._emitVaryingFromString(this._fogDistanceName, NodeMaterialBlockConnectionPointTypes.Vector3);\n const prefix = state.shaderLanguage === 1 /* ShaderLanguage.WGSL */ ? \"vertexOutputs.\" : \"\";\n state.compilationString += `${prefix}${this._fogDistanceName} = (${view.associatedVariableName} * ${worldPos.associatedVariableName}).xyz;\\n`;\n }\n return this;\n }\n}\nRegisterClass(\"BABYLON.FogBlock\", FogBlock);\n"],"mappings":"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","ignoreList":[]},"metadata":{},"sourceType":"module","externalDependencies":[]}