08f173575b561c35032e6618734be424ca2ad3c0fd252ea51b238491285eeb03.json 20 KB

1
  1. {"ast":null,"code":"import { NodeMaterialBlockConnectionPointTypes } from \"../../Enums/nodeMaterialBlockConnectionPointTypes.js\";\nimport { NodeMaterialBlockTargets } from \"../../Enums/nodeMaterialBlockTargets.js\";\nimport { RegisterClass } from \"../../../../Misc/typeStore.js\";\nimport { InputBlock } from \"../Input/inputBlock.js\";\nimport { NodeMaterialSystemValues } from \"../../Enums/nodeMaterialSystemValues.js\";\nimport { ReflectionTextureBaseBlock } from \"./reflectionTextureBaseBlock.js\";\nimport { Logger } from \"../../../../Misc/logger.js\";\n/**\n * Block used to read a reflection texture from a sampler\n */\nexport class ReflectionTextureBlock extends ReflectionTextureBaseBlock {\n _onGenerateOnlyFragmentCodeChanged() {\n if (this.position.isConnected) {\n this.generateOnlyFragmentCode = !this.generateOnlyFragmentCode;\n Logger.Error(\"The position input must not be connected to be able to switch!\");\n return false;\n }\n if (this.worldPosition.isConnected) {\n this.generateOnlyFragmentCode = !this.generateOnlyFragmentCode;\n Logger.Error(\"The worldPosition input must not be connected to be able to switch!\");\n return false;\n }\n this._setTarget();\n return true;\n }\n _setTarget() {\n super._setTarget();\n this.getInputByName(\"position\").target = this.generateOnlyFragmentCode ? NodeMaterialBlockTargets.Fragment : NodeMaterialBlockTargets.Vertex;\n this.getInputByName(\"worldPosition\").target = this.generateOnlyFragmentCode ? NodeMaterialBlockTargets.Fragment : NodeMaterialBlockTargets.Vertex;\n }\n /**\n * Create a new ReflectionTextureBlock\n * @param name defines the block name\n */\n constructor(name) {\n super(name);\n this.registerInput(\"position\", NodeMaterialBlockConnectionPointTypes.AutoDetect, false, NodeMaterialBlockTargets.Vertex);\n this.registerInput(\"worldPosition\", NodeMaterialBlockConnectionPointTypes.Vector4, false, NodeMaterialBlockTargets.Vertex);\n this.registerInput(\"worldNormal\", NodeMaterialBlockConnectionPointTypes.Vector4, false, NodeMaterialBlockTargets.Fragment); // Flagging as fragment as the normal can be changed by fragment code\n this.registerInput(\"world\", NodeMaterialBlockConnectionPointTypes.Matrix, false, NodeMaterialBlockTargets.Vertex);\n this.registerInput(\"cameraPosition\", NodeMaterialBlockConnectionPointTypes.Vector3, false, NodeMaterialBlockTargets.Fragment);\n this.registerInput(\"view\", NodeMaterialBlockConnectionPointTypes.Matrix, false, NodeMaterialBlockTargets.Fragment);\n this.registerOutput(\"rgb\", NodeMaterialBlockConnectionPointTypes.Color3, NodeMaterialBlockTargets.Fragment);\n this.registerOutput(\"rgba\", NodeMaterialBlockConnectionPointTypes.Color4, NodeMaterialBlockTargets.Fragment);\n this.registerOutput(\"r\", NodeMaterialBlockConnectionPointTypes.Float, NodeMaterialBlockTargets.Fragment);\n this.registerOutput(\"g\", NodeMaterialBlockConnectionPointTypes.Float, NodeMaterialBlockTargets.Fragment);\n this.registerOutput(\"b\", NodeMaterialBlockConnectionPointTypes.Float, NodeMaterialBlockTargets.Fragment);\n this.registerOutput(\"a\", NodeMaterialBlockConnectionPointTypes.Float, NodeMaterialBlockTargets.Fragment);\n this._inputs[0].addExcludedConnectionPointFromAllowedTypes(NodeMaterialBlockConnectionPointTypes.Color3 | NodeMaterialBlockConnectionPointTypes.Vector3 | NodeMaterialBlockConnectionPointTypes.Vector4);\n }\n /**\n * Gets the current class name\n * @returns the class name\n */\n getClassName() {\n return \"ReflectionTextureBlock\";\n }\n /**\n * Gets the world position input component\n */\n get position() {\n return this._inputs[0];\n }\n /**\n * Gets the world position input component\n */\n get worldPosition() {\n return this._inputs[1];\n }\n /**\n * Gets the world normal input component\n */\n get worldNormal() {\n return this._inputs[2];\n }\n /**\n * Gets the world input component\n */\n get world() {\n return this._inputs[3];\n }\n /**\n * Gets the camera (or eye) position component\n */\n get cameraPosition() {\n return this._inputs[4];\n }\n /**\n * Gets the view input component\n */\n get view() {\n return this._inputs[5];\n }\n /**\n * Gets the rgb output component\n */\n get rgb() {\n return this._outputs[0];\n }\n /**\n * Gets the rgba output component\n */\n get rgba() {\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 autoConfigure(material, additionalFilteringInfo = () => true) {\n super.autoConfigure(material);\n if (!this.cameraPosition.isConnected) {\n let cameraPositionInput = material.getInputBlockByPredicate(b => b.systemValue === NodeMaterialSystemValues.CameraPosition && additionalFilteringInfo(b));\n if (!cameraPositionInput) {\n cameraPositionInput = new InputBlock(\"cameraPosition\");\n cameraPositionInput.setAsSystemValue(NodeMaterialSystemValues.CameraPosition);\n }\n cameraPositionInput.output.connectTo(this.cameraPosition);\n }\n }\n _buildBlock(state) {\n super._buildBlock(state);\n if (!this.texture) {\n state.compilationString += this.writeOutputs(state, `vec4${state.fSuffix}(0.)`);\n return this;\n }\n if (state.target !== NodeMaterialBlockTargets.Fragment) {\n state.compilationString += this.handleVertexSide(state);\n return this;\n }\n if (this.generateOnlyFragmentCode) {\n state.compilationString += this.handleVertexSide(state);\n }\n this.handleFragmentSideInits(state);\n const normalWUnit = state._getFreeVariableName(\"normalWUnit\");\n state.compilationString += `${state._declareLocalVar(normalWUnit, NodeMaterialBlockConnectionPointTypes.Vector4)} = normalize(${this.worldNormal.associatedVariableName});\\n`;\n state.compilationString += this.handleFragmentSideCodeReflectionCoords(state, normalWUnit);\n state.compilationString += this.handleFragmentSideCodeReflectionColor(state, undefined, \"\");\n state.compilationString += this.writeOutputs(state, this._reflectionColorName);\n return this;\n }\n}\nRegisterClass(\"BABYLON.ReflectionTextureBlock\", ReflectionTextureBlock);","map":{"version":3,"names":["NodeMaterialBlockConnectionPointTypes","NodeMaterialBlockTargets","RegisterClass","InputBlock","NodeMaterialSystemValues","ReflectionTextureBaseBlock","Logger","ReflectionTextureBlock","_onGenerateOnlyFragmentCodeChanged","position","isConnected","generateOnlyFragmentCode","Error","worldPosition","_setTarget","getInputByName","target","Fragment","Vertex","constructor","name","registerInput","AutoDetect","Vector4","Matrix","Vector3","registerOutput","Color3","Color4","Float","_inputs","addExcludedConnectionPointFromAllowedTypes","getClassName","worldNormal","world","cameraPosition","view","rgb","_outputs","rgba","r","g","b","a","autoConfigure","material","additionalFilteringInfo","cameraPositionInput","getInputBlockByPredicate","systemValue","CameraPosition","setAsSystemValue","output","connectTo","_buildBlock","state","texture","compilationString","writeOutputs","fSuffix","handleVertexSide","handleFragmentSideInits","normalWUnit","_getFreeVariableName","_declareLocalVar","associatedVariableName","handleFragmentSideCodeReflectionCoords","handleFragmentSideCodeReflectionColor","undefined","_reflectionColorName"],"sources":["F:/workspace/202226701027/huinongbao-app/node_modules/@babylonjs/core/Materials/Node/Blocks/Dual/reflectionTextureBlock.js"],"sourcesContent":["import { NodeMaterialBlockConnectionPointTypes } from \"../../Enums/nodeMaterialBlockConnectionPointTypes.js\";\nimport { NodeMaterialBlockTargets } from \"../../Enums/nodeMaterialBlockTargets.js\";\nimport { RegisterClass } from \"../../../../Misc/typeStore.js\";\nimport { InputBlock } from \"../Input/inputBlock.js\";\nimport { NodeMaterialSystemValues } from \"../../Enums/nodeMaterialSystemValues.js\";\nimport { ReflectionTextureBaseBlock } from \"./reflectionTextureBaseBlock.js\";\nimport { Logger } from \"../../../../Misc/logger.js\";\n/**\n * Block used to read a reflection texture from a sampler\n */\nexport class ReflectionTextureBlock extends ReflectionTextureBaseBlock {\n _onGenerateOnlyFragmentCodeChanged() {\n if (this.position.isConnected) {\n this.generateOnlyFragmentCode = !this.generateOnlyFragmentCode;\n Logger.Error(\"The position input must not be connected to be able to switch!\");\n return false;\n }\n if (this.worldPosition.isConnected) {\n this.generateOnlyFragmentCode = !this.generateOnlyFragmentCode;\n Logger.Error(\"The worldPosition input must not be connected to be able to switch!\");\n return false;\n }\n this._setTarget();\n return true;\n }\n _setTarget() {\n super._setTarget();\n this.getInputByName(\"position\").target = this.generateOnlyFragmentCode ? NodeMaterialBlockTargets.Fragment : NodeMaterialBlockTargets.Vertex;\n this.getInputByName(\"worldPosition\").target = this.generateOnlyFragmentCode ? NodeMaterialBlockTargets.Fragment : NodeMaterialBlockTargets.Vertex;\n }\n /**\n * Create a new ReflectionTextureBlock\n * @param name defines the block name\n */\n constructor(name) {\n super(name);\n this.registerInput(\"position\", NodeMaterialBlockConnectionPointTypes.AutoDetect, false, NodeMaterialBlockTargets.Vertex);\n this.registerInput(\"worldPosition\", NodeMaterialBlockConnectionPointTypes.Vector4, false, NodeMaterialBlockTargets.Vertex);\n this.registerInput(\"worldNormal\", NodeMaterialBlockConnectionPointTypes.Vector4, false, NodeMaterialBlockTargets.Fragment); // Flagging as fragment as the normal can be changed by fragment code\n this.registerInput(\"world\", NodeMaterialBlockConnectionPointTypes.Matrix, false, NodeMaterialBlockTargets.Vertex);\n this.registerInput(\"cameraPosition\", NodeMaterialBlockConnectionPointTypes.Vector3, false, NodeMaterialBlockTargets.Fragment);\n this.registerInput(\"view\", NodeMaterialBlockConnectionPointTypes.Matrix, false, NodeMaterialBlockTargets.Fragment);\n this.registerOutput(\"rgb\", NodeMaterialBlockConnectionPointTypes.Color3, NodeMaterialBlockTargets.Fragment);\n this.registerOutput(\"rgba\", NodeMaterialBlockConnectionPointTypes.Color4, NodeMaterialBlockTargets.Fragment);\n this.registerOutput(\"r\", NodeMaterialBlockConnectionPointTypes.Float, NodeMaterialBlockTargets.Fragment);\n this.registerOutput(\"g\", NodeMaterialBlockConnectionPointTypes.Float, NodeMaterialBlockTargets.Fragment);\n this.registerOutput(\"b\", NodeMaterialBlockConnectionPointTypes.Float, NodeMaterialBlockTargets.Fragment);\n this.registerOutput(\"a\", NodeMaterialBlockConnectionPointTypes.Float, NodeMaterialBlockTargets.Fragment);\n this._inputs[0].addExcludedConnectionPointFromAllowedTypes(NodeMaterialBlockConnectionPointTypes.Color3 | NodeMaterialBlockConnectionPointTypes.Vector3 | NodeMaterialBlockConnectionPointTypes.Vector4);\n }\n /**\n * Gets the current class name\n * @returns the class name\n */\n getClassName() {\n return \"ReflectionTextureBlock\";\n }\n /**\n * Gets the world position input component\n */\n get position() {\n return this._inputs[0];\n }\n /**\n * Gets the world position input component\n */\n get worldPosition() {\n return this._inputs[1];\n }\n /**\n * Gets the world normal input component\n */\n get worldNormal() {\n return this._inputs[2];\n }\n /**\n * Gets the world input component\n */\n get world() {\n return this._inputs[3];\n }\n /**\n * Gets the camera (or eye) position component\n */\n get cameraPosition() {\n return this._inputs[4];\n }\n /**\n * Gets the view input component\n */\n get view() {\n return this._inputs[5];\n }\n /**\n * Gets the rgb output component\n */\n get rgb() {\n return this._outputs[0];\n }\n /**\n * Gets the rgba output component\n */\n get rgba() {\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 autoConfigure(material, additionalFilteringInfo = () => true) {\n super.autoConfigure(material);\n if (!this.cameraPosition.isConnected) {\n let cameraPositionInput = material.getInputBlockByPredicate((b) => b.systemValue === NodeMaterialSystemValues.CameraPosition && additionalFilteringInfo(b));\n if (!cameraPositionInput) {\n cameraPositionInput = new InputBlock(\"cameraPosition\");\n cameraPositionInput.setAsSystemValue(NodeMaterialSystemValues.CameraPosition);\n }\n cameraPositionInput.output.connectTo(this.cameraPosition);\n }\n }\n _buildBlock(state) {\n super._buildBlock(state);\n if (!this.texture) {\n state.compilationString += this.writeOutputs(state, `vec4${state.fSuffix}(0.)`);\n return this;\n }\n if (state.target !== NodeMaterialBlockTargets.Fragment) {\n state.compilationString += this.handleVertexSide(state);\n return this;\n }\n if (this.generateOnlyFragmentCode) {\n state.compilationString += this.handleVertexSide(state);\n }\n this.handleFragmentSideInits(state);\n const normalWUnit = state._getFreeVariableName(\"normalWUnit\");\n state.compilationString += `${state._declareLocalVar(normalWUnit, NodeMaterialBlockConnectionPointTypes.Vector4)} = normalize(${this.worldNormal.associatedVariableName});\\n`;\n state.compilationString += this.handleFragmentSideCodeReflectionCoords(state, normalWUnit);\n state.compilationString += this.handleFragmentSideCodeReflectionColor(state, undefined, \"\");\n state.compilationString += this.writeOutputs(state, this._reflectionColorName);\n return this;\n }\n}\nRegisterClass(\"BABYLON.ReflectionTextureBlock\", ReflectionTextureBlock);\n"],"mappings":"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","ignoreList":[]},"metadata":{},"sourceType":"module","externalDependencies":[]}