17244d08cd4f0531f4055d71bca7c3803a30705712a2164ab76a39f0caccf277.json 27 KB

1
  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\";\n/**\n * Block used to output values on the prepass textures\n * #WW65SN#9\n */\nexport class PrePassOutputBlock extends NodeMaterialBlock {\n /**\n * Create a new PrePassOutputBlock\n * @param name defines the block name\n */\n constructor(name) {\n super(name, NodeMaterialBlockTargets.Fragment, true);\n this.registerInput(\"viewDepth\", NodeMaterialBlockConnectionPointTypes.Float, true);\n this.registerInput(\"screenDepth\", NodeMaterialBlockConnectionPointTypes.Float, true);\n this.registerInput(\"worldPosition\", NodeMaterialBlockConnectionPointTypes.AutoDetect, true);\n this.registerInput(\"localPosition\", NodeMaterialBlockConnectionPointTypes.AutoDetect, true);\n this.registerInput(\"viewNormal\", NodeMaterialBlockConnectionPointTypes.AutoDetect, true);\n this.registerInput(\"worldNormal\", NodeMaterialBlockConnectionPointTypes.AutoDetect, true);\n this.registerInput(\"reflectivity\", NodeMaterialBlockConnectionPointTypes.AutoDetect, true);\n this.inputs[2].addExcludedConnectionPointFromAllowedTypes(NodeMaterialBlockConnectionPointTypes.Vector3 | NodeMaterialBlockConnectionPointTypes.Vector4);\n this.inputs[3].addExcludedConnectionPointFromAllowedTypes(NodeMaterialBlockConnectionPointTypes.Vector3 | NodeMaterialBlockConnectionPointTypes.Vector4);\n this.inputs[4].addExcludedConnectionPointFromAllowedTypes(NodeMaterialBlockConnectionPointTypes.Vector3 | NodeMaterialBlockConnectionPointTypes.Vector4);\n this.inputs[5].addExcludedConnectionPointFromAllowedTypes(NodeMaterialBlockConnectionPointTypes.Vector3 | NodeMaterialBlockConnectionPointTypes.Vector4);\n this.inputs[6].addExcludedConnectionPointFromAllowedTypes(NodeMaterialBlockConnectionPointTypes.Vector3 | NodeMaterialBlockConnectionPointTypes.Vector4 | NodeMaterialBlockConnectionPointTypes.Color3 | NodeMaterialBlockConnectionPointTypes.Color4);\n }\n /**\n * Gets the current class name\n * @returns the class name\n */\n getClassName() {\n return \"PrePassOutputBlock\";\n }\n /**\n * Gets the view depth component\n */\n get viewDepth() {\n return this._inputs[0];\n }\n /**\n * Gets the screen depth component\n */\n get screenDepth() {\n return this._inputs[1];\n }\n /**\n * Gets the world position component\n */\n get worldPosition() {\n return this._inputs[2];\n }\n /**\n * Gets the position in local space component\n */\n get localPosition() {\n return this._inputs[3];\n }\n /**\n * Gets the view normal component\n */\n get viewNormal() {\n return this._inputs[4];\n }\n /**\n * Gets the world normal component\n */\n get worldNormal() {\n return this._inputs[5];\n }\n /**\n * Gets the reflectivity component\n */\n get reflectivity() {\n return this._inputs[6];\n }\n _getFragData(isWebGPU, index) {\n return isWebGPU ? `fragmentOutputs.fragData${index}` : `gl_FragData[${index}]`;\n }\n _buildBlock(state) {\n super._buildBlock(state);\n const worldPosition = this.worldPosition;\n const localPosition = this.localPosition;\n const viewNormal = this.viewNormal;\n const worldNormal = this.worldNormal;\n const viewDepth = this.viewDepth;\n const reflectivity = this.reflectivity;\n const screenDepth = this.screenDepth;\n state.sharedData.blocksWithDefines.push(this);\n const comments = `//${this.name}`;\n const vec4 = state._getShaderType(NodeMaterialBlockConnectionPointTypes.Vector4);\n const isWebGPU = state.shaderLanguage === 1 /* ShaderLanguage.WGSL */;\n state._emitFunctionFromInclude(\"helperFunctions\", comments);\n state.compilationString += `#if defined(PREPASS)\\r\\n`;\n state.compilationString += isWebGPU ? `var fragData: array<vec4<f32>, SCENE_MRT_COUNT>;\\r\\n` : `vec4 fragData[SCENE_MRT_COUNT];\\r\\n`;\n state.compilationString += `#ifdef PREPASS_DEPTH\\r\\n`;\n if (viewDepth.connectedPoint) {\n state.compilationString += ` fragData[PREPASS_DEPTH_INDEX] = ${vec4}(${viewDepth.associatedVariableName}, 0.0, 0.0, 1.0);\\r\\n`;\n } else {\n // We have to write something on the viewDepth output or it will raise a gl error\n state.compilationString += ` fragData[PREPASS_DEPTH_INDEX] = ${vec4}(0.0, 0.0, 0.0, 0.0);\\r\\n`;\n }\n state.compilationString += `#endif\\r\\n`;\n state.compilationString += `#ifdef PREPASS_SCREENSPACE_DEPTH\\r\\n`;\n if (screenDepth.connectedPoint) {\n state.compilationString += ` gl_FragData[PREPASS_SCREENSPACE_DEPTH_INDEX] = vec4(${screenDepth.associatedVariableName}, 0.0, 0.0, 1.0);\\r\\n`;\n } else {\n // We have to write something on the viewDepth output or it will raise a gl error\n state.compilationString += ` gl_FragData[PREPASS_SCREENSPACE_DEPTH_INDEX] = vec4(0.0, 0.0, 0.0, 0.0);\\r\\n`;\n }\n state.compilationString += `#endif\\r\\n`;\n state.compilationString += `#ifdef PREPASS_POSITION\\r\\n`;\n if (worldPosition.connectedPoint) {\n state.compilationString += `fragData[PREPASS_POSITION_INDEX] = ${vec4}(${worldPosition.associatedVariableName}.rgb, ${worldPosition.connectedPoint.type === NodeMaterialBlockConnectionPointTypes.Vector4 ? worldPosition.associatedVariableName + \".a\" : \"1.0\"});\\r\\n`;\n } else {\n // We have to write something on the position output or it will raise a gl error\n state.compilationString += ` fragData[PREPASS_POSITION_INDEX] = ${vec4}(0.0, 0.0, 0.0, 0.0);\\r\\n`;\n }\n state.compilationString += `#endif\\r\\n`;\n state.compilationString += `#ifdef PREPASS_LOCAL_POSITION\\r\\n`;\n if (localPosition.connectedPoint) {\n state.compilationString += ` gl_FragData[PREPASS_LOCAL_POSITION_INDEX] = vec4(${localPosition.associatedVariableName}.rgb, ${localPosition.connectedPoint.type === NodeMaterialBlockConnectionPointTypes.Vector4 ? localPosition.associatedVariableName + \".a\" : \"1.0\"});\\r\\n`;\n } else {\n // We have to write something on the position output or it will raise a gl error\n state.compilationString += ` gl_FragData[PREPASS_LOCAL_POSITION_INDEX] = vec4(0.0, 0.0, 0.0, 0.0);\\r\\n`;\n }\n state.compilationString += `#endif\\r\\n`;\n state.compilationString += `#ifdef PREPASS_NORMAL\\r\\n`;\n if (viewNormal.connectedPoint) {\n state.compilationString += ` fragData[PREPASS_NORMAL_INDEX] = ${vec4}(${viewNormal.associatedVariableName}.rgb, ${viewNormal.connectedPoint.type === NodeMaterialBlockConnectionPointTypes.Vector4 ? viewNormal.associatedVariableName + \".a\" : \"1.0\"});\\r\\n`;\n } else {\n // We have to write something on the normal output or it will raise a gl error\n state.compilationString += ` fragData[PREPASS_NORMAL_INDEX] = ${vec4}(0.0, 0.0, 0.0, 0.0);\\r\\n`;\n }\n state.compilationString += `#endif\\r\\n`;\n state.compilationString += `#ifdef PREPASS_WORLD_NORMAL\\r\\n`;\n if (worldNormal.connectedPoint) {\n state.compilationString += ` gl_FragData[PREPASS_WORLD_NORMAL_INDEX] = vec4(${worldNormal.associatedVariableName}.rgb, ${worldNormal.connectedPoint.type === NodeMaterialBlockConnectionPointTypes.Vector4 ? worldNormal.associatedVariableName + \".a\" : \"1.0\"});\\r\\n`;\n } else {\n // We have to write something on the normal output or it will raise a gl error\n state.compilationString += ` gl_FragData[PREPASS_WORLD_NORMAL_INDEX] = vec4(0.0, 0.0, 0.0, 0.0);\\r\\n`;\n }\n state.compilationString += `#endif\\r\\n`;\n state.compilationString += `#ifdef PREPASS_REFLECTIVITY\\r\\n`;\n if (reflectivity.connectedPoint) {\n state.compilationString += ` fragData[PREPASS_REFLECTIVITY_INDEX] = ${vec4}(${reflectivity.associatedVariableName}.rgb, ${reflectivity.connectedPoint.type === NodeMaterialBlockConnectionPointTypes.Vector4 ? reflectivity.associatedVariableName + \".a\" : \"1.0\"});\\r\\n`;\n } else {\n // We have to write something on the reflectivity output or it will raise a gl error\n state.compilationString += ` fragData[PREPASS_REFLECTIVITY_INDEX] = ${vec4}(0.0, 0.0, 0.0, 1.0);\\r\\n`;\n }\n state.compilationString += `#endif\\r\\n`;\n state.compilationString += `#if SCENE_MRT_COUNT > 1\\r\\n`;\n state.compilationString += `${this._getFragData(isWebGPU, 1)} = fragData[1];\\r\\n`;\n state.compilationString += `#endif\\r\\n`;\n state.compilationString += `#if SCENE_MRT_COUNT > 2\\r\\n`;\n state.compilationString += `${this._getFragData(isWebGPU, 2)} = fragData[2];\\r\\n`;\n state.compilationString += `#endif\\r\\n`;\n state.compilationString += `#if SCENE_MRT_COUNT > 3\\r\\n`;\n state.compilationString += `${this._getFragData(isWebGPU, 3)} = fragData[3];\\r\\n`;\n state.compilationString += `#endif\\r\\n`;\n state.compilationString += `#if SCENE_MRT_COUNT > 4\\r\\n`;\n state.compilationString += `${this._getFragData(isWebGPU, 4)} = fragData[4];\\r\\n`;\n state.compilationString += `#endif\\r\\n`;\n state.compilationString += `#if SCENE_MRT_COUNT > 5\\r\\n`;\n state.compilationString += `${this._getFragData(isWebGPU, 5)} = fragData[5];\\r\\n`;\n state.compilationString += `#endif\\r\\n`;\n state.compilationString += `#if SCENE_MRT_COUNT > 6\\r\\n`;\n state.compilationString += `${this._getFragData(isWebGPU, 6)} = fragData[6];\\r\\n`;\n state.compilationString += `#endif\\r\\n`;\n state.compilationString += `#if SCENE_MRT_COUNT > 7\\r\\n`;\n state.compilationString += `${this._getFragData(isWebGPU, 7)} = fragData[7];\\r\\n`;\n state.compilationString += `#endif\\r\\n`;\n state.compilationString += `#endif\\r\\n`;\n return this;\n }\n}\nRegisterClass(\"BABYLON.PrePassOutputBlock\", PrePassOutputBlock);","map":{"version":3,"names":["NodeMaterialBlock","NodeMaterialBlockConnectionPointTypes","NodeMaterialBlockTargets","RegisterClass","PrePassOutputBlock","constructor","name","Fragment","registerInput","Float","AutoDetect","inputs","addExcludedConnectionPointFromAllowedTypes","Vector3","Vector4","Color3","Color4","getClassName","viewDepth","_inputs","screenDepth","worldPosition","localPosition","viewNormal","worldNormal","reflectivity","_getFragData","isWebGPU","index","_buildBlock","state","sharedData","blocksWithDefines","push","comments","vec4","_getShaderType","shaderLanguage","_emitFunctionFromInclude","compilationString","connectedPoint","associatedVariableName","type"],"sources":["F:/workspace/202226701027/huinongbao-app/node_modules/@babylonjs/core/Materials/Node/Blocks/Fragment/prePassOutputBlock.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\";\n/**\n * Block used to output values on the prepass textures\n * #WW65SN#9\n */\nexport class PrePassOutputBlock extends NodeMaterialBlock {\n /**\n * Create a new PrePassOutputBlock\n * @param name defines the block name\n */\n constructor(name) {\n super(name, NodeMaterialBlockTargets.Fragment, true);\n this.registerInput(\"viewDepth\", NodeMaterialBlockConnectionPointTypes.Float, true);\n this.registerInput(\"screenDepth\", NodeMaterialBlockConnectionPointTypes.Float, true);\n this.registerInput(\"worldPosition\", NodeMaterialBlockConnectionPointTypes.AutoDetect, true);\n this.registerInput(\"localPosition\", NodeMaterialBlockConnectionPointTypes.AutoDetect, true);\n this.registerInput(\"viewNormal\", NodeMaterialBlockConnectionPointTypes.AutoDetect, true);\n this.registerInput(\"worldNormal\", NodeMaterialBlockConnectionPointTypes.AutoDetect, true);\n this.registerInput(\"reflectivity\", NodeMaterialBlockConnectionPointTypes.AutoDetect, true);\n this.inputs[2].addExcludedConnectionPointFromAllowedTypes(NodeMaterialBlockConnectionPointTypes.Vector3 | NodeMaterialBlockConnectionPointTypes.Vector4);\n this.inputs[3].addExcludedConnectionPointFromAllowedTypes(NodeMaterialBlockConnectionPointTypes.Vector3 | NodeMaterialBlockConnectionPointTypes.Vector4);\n this.inputs[4].addExcludedConnectionPointFromAllowedTypes(NodeMaterialBlockConnectionPointTypes.Vector3 | NodeMaterialBlockConnectionPointTypes.Vector4);\n this.inputs[5].addExcludedConnectionPointFromAllowedTypes(NodeMaterialBlockConnectionPointTypes.Vector3 | NodeMaterialBlockConnectionPointTypes.Vector4);\n this.inputs[6].addExcludedConnectionPointFromAllowedTypes(NodeMaterialBlockConnectionPointTypes.Vector3 |\n NodeMaterialBlockConnectionPointTypes.Vector4 |\n NodeMaterialBlockConnectionPointTypes.Color3 |\n NodeMaterialBlockConnectionPointTypes.Color4);\n }\n /**\n * Gets the current class name\n * @returns the class name\n */\n getClassName() {\n return \"PrePassOutputBlock\";\n }\n /**\n * Gets the view depth component\n */\n get viewDepth() {\n return this._inputs[0];\n }\n /**\n * Gets the screen depth component\n */\n get screenDepth() {\n return this._inputs[1];\n }\n /**\n * Gets the world position component\n */\n get worldPosition() {\n return this._inputs[2];\n }\n /**\n * Gets the position in local space component\n */\n get localPosition() {\n return this._inputs[3];\n }\n /**\n * Gets the view normal component\n */\n get viewNormal() {\n return this._inputs[4];\n }\n /**\n * Gets the world normal component\n */\n get worldNormal() {\n return this._inputs[5];\n }\n /**\n * Gets the reflectivity component\n */\n get reflectivity() {\n return this._inputs[6];\n }\n _getFragData(isWebGPU, index) {\n return isWebGPU ? `fragmentOutputs.fragData${index}` : `gl_FragData[${index}]`;\n }\n _buildBlock(state) {\n super._buildBlock(state);\n const worldPosition = this.worldPosition;\n const localPosition = this.localPosition;\n const viewNormal = this.viewNormal;\n const worldNormal = this.worldNormal;\n const viewDepth = this.viewDepth;\n const reflectivity = this.reflectivity;\n const screenDepth = this.screenDepth;\n state.sharedData.blocksWithDefines.push(this);\n const comments = `//${this.name}`;\n const vec4 = state._getShaderType(NodeMaterialBlockConnectionPointTypes.Vector4);\n const isWebGPU = state.shaderLanguage === 1 /* ShaderLanguage.WGSL */;\n state._emitFunctionFromInclude(\"helperFunctions\", comments);\n state.compilationString += `#if defined(PREPASS)\\r\\n`;\n state.compilationString += isWebGPU ? `var fragData: array<vec4<f32>, SCENE_MRT_COUNT>;\\r\\n` : `vec4 fragData[SCENE_MRT_COUNT];\\r\\n`;\n state.compilationString += `#ifdef PREPASS_DEPTH\\r\\n`;\n if (viewDepth.connectedPoint) {\n state.compilationString += ` fragData[PREPASS_DEPTH_INDEX] = ${vec4}(${viewDepth.associatedVariableName}, 0.0, 0.0, 1.0);\\r\\n`;\n }\n else {\n // We have to write something on the viewDepth output or it will raise a gl error\n state.compilationString += ` fragData[PREPASS_DEPTH_INDEX] = ${vec4}(0.0, 0.0, 0.0, 0.0);\\r\\n`;\n }\n state.compilationString += `#endif\\r\\n`;\n state.compilationString += `#ifdef PREPASS_SCREENSPACE_DEPTH\\r\\n`;\n if (screenDepth.connectedPoint) {\n state.compilationString += ` gl_FragData[PREPASS_SCREENSPACE_DEPTH_INDEX] = vec4(${screenDepth.associatedVariableName}, 0.0, 0.0, 1.0);\\r\\n`;\n }\n else {\n // We have to write something on the viewDepth output or it will raise a gl error\n state.compilationString += ` gl_FragData[PREPASS_SCREENSPACE_DEPTH_INDEX] = vec4(0.0, 0.0, 0.0, 0.0);\\r\\n`;\n }\n state.compilationString += `#endif\\r\\n`;\n state.compilationString += `#ifdef PREPASS_POSITION\\r\\n`;\n if (worldPosition.connectedPoint) {\n state.compilationString += `fragData[PREPASS_POSITION_INDEX] = ${vec4}(${worldPosition.associatedVariableName}.rgb, ${worldPosition.connectedPoint.type === NodeMaterialBlockConnectionPointTypes.Vector4 ? worldPosition.associatedVariableName + \".a\" : \"1.0\"});\\r\\n`;\n }\n else {\n // We have to write something on the position output or it will raise a gl error\n state.compilationString += ` fragData[PREPASS_POSITION_INDEX] = ${vec4}(0.0, 0.0, 0.0, 0.0);\\r\\n`;\n }\n state.compilationString += `#endif\\r\\n`;\n state.compilationString += `#ifdef PREPASS_LOCAL_POSITION\\r\\n`;\n if (localPosition.connectedPoint) {\n state.compilationString += ` gl_FragData[PREPASS_LOCAL_POSITION_INDEX] = vec4(${localPosition.associatedVariableName}.rgb, ${localPosition.connectedPoint.type === NodeMaterialBlockConnectionPointTypes.Vector4 ? localPosition.associatedVariableName + \".a\" : \"1.0\"});\\r\\n`;\n }\n else {\n // We have to write something on the position output or it will raise a gl error\n state.compilationString += ` gl_FragData[PREPASS_LOCAL_POSITION_INDEX] = vec4(0.0, 0.0, 0.0, 0.0);\\r\\n`;\n }\n state.compilationString += `#endif\\r\\n`;\n state.compilationString += `#ifdef PREPASS_NORMAL\\r\\n`;\n if (viewNormal.connectedPoint) {\n state.compilationString += ` fragData[PREPASS_NORMAL_INDEX] = ${vec4}(${viewNormal.associatedVariableName}.rgb, ${viewNormal.connectedPoint.type === NodeMaterialBlockConnectionPointTypes.Vector4 ? viewNormal.associatedVariableName + \".a\" : \"1.0\"});\\r\\n`;\n }\n else {\n // We have to write something on the normal output or it will raise a gl error\n state.compilationString += ` fragData[PREPASS_NORMAL_INDEX] = ${vec4}(0.0, 0.0, 0.0, 0.0);\\r\\n`;\n }\n state.compilationString += `#endif\\r\\n`;\n state.compilationString += `#ifdef PREPASS_WORLD_NORMAL\\r\\n`;\n if (worldNormal.connectedPoint) {\n state.compilationString += ` gl_FragData[PREPASS_WORLD_NORMAL_INDEX] = vec4(${worldNormal.associatedVariableName}.rgb, ${worldNormal.connectedPoint.type === NodeMaterialBlockConnectionPointTypes.Vector4 ? worldNormal.associatedVariableName + \".a\" : \"1.0\"});\\r\\n`;\n }\n else {\n // We have to write something on the normal output or it will raise a gl error\n state.compilationString += ` gl_FragData[PREPASS_WORLD_NORMAL_INDEX] = vec4(0.0, 0.0, 0.0, 0.0);\\r\\n`;\n }\n state.compilationString += `#endif\\r\\n`;\n state.compilationString += `#ifdef PREPASS_REFLECTIVITY\\r\\n`;\n if (reflectivity.connectedPoint) {\n state.compilationString += ` fragData[PREPASS_REFLECTIVITY_INDEX] = ${vec4}(${reflectivity.associatedVariableName}.rgb, ${reflectivity.connectedPoint.type === NodeMaterialBlockConnectionPointTypes.Vector4 ? reflectivity.associatedVariableName + \".a\" : \"1.0\"});\\r\\n`;\n }\n else {\n // We have to write something on the reflectivity output or it will raise a gl error\n state.compilationString += ` fragData[PREPASS_REFLECTIVITY_INDEX] = ${vec4}(0.0, 0.0, 0.0, 1.0);\\r\\n`;\n }\n state.compilationString += `#endif\\r\\n`;\n state.compilationString += `#if SCENE_MRT_COUNT > 1\\r\\n`;\n state.compilationString += `${this._getFragData(isWebGPU, 1)} = fragData[1];\\r\\n`;\n state.compilationString += `#endif\\r\\n`;\n state.compilationString += `#if SCENE_MRT_COUNT > 2\\r\\n`;\n state.compilationString += `${this._getFragData(isWebGPU, 2)} = fragData[2];\\r\\n`;\n state.compilationString += `#endif\\r\\n`;\n state.compilationString += `#if SCENE_MRT_COUNT > 3\\r\\n`;\n state.compilationString += `${this._getFragData(isWebGPU, 3)} = fragData[3];\\r\\n`;\n state.compilationString += `#endif\\r\\n`;\n state.compilationString += `#if SCENE_MRT_COUNT > 4\\r\\n`;\n state.compilationString += `${this._getFragData(isWebGPU, 4)} = fragData[4];\\r\\n`;\n state.compilationString += `#endif\\r\\n`;\n state.compilationString += `#if SCENE_MRT_COUNT > 5\\r\\n`;\n state.compilationString += `${this._getFragData(isWebGPU, 5)} = fragData[5];\\r\\n`;\n state.compilationString += `#endif\\r\\n`;\n state.compilationString += `#if SCENE_MRT_COUNT > 6\\r\\n`;\n state.compilationString += `${this._getFragData(isWebGPU, 6)} = fragData[6];\\r\\n`;\n state.compilationString += `#endif\\r\\n`;\n state.compilationString += `#if SCENE_MRT_COUNT > 7\\r\\n`;\n state.compilationString += `${this._getFragData(isWebGPU, 7)} = fragData[7];\\r\\n`;\n state.compilationString += `#endif\\r\\n`;\n state.compilationString += `#endif\\r\\n`;\n return this;\n }\n}\nRegisterClass(\"BABYLON.PrePassOutputBlock\", PrePassOutputBlock);\n"],"mappings":"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","ignoreList":[]},"metadata":{},"sourceType":"module","externalDependencies":[]}