5ff190c455694783e02a6ce1f1a450fd3cfa2d27c656daba3cfabb86a265d21e.json 24 KB

1
  1. {"ast":null,"code":"import _asyncToGenerator from \"F:/workspace/202226701027/huinongbao-app/node_modules/@babel/runtime/helpers/esm/asyncToGenerator.js\";\nimport { __decorate } from \"../../../../tslib.es6.js\";\nimport { NodeMaterialBlock } from \"../../nodeMaterialBlock.js\";\nimport { NodeMaterialBlockConnectionPointTypes } from \"../../Enums/nodeMaterialBlockConnectionPointTypes.js\";\nimport { NodeMaterialBlockTargets } from \"../../Enums/nodeMaterialBlockTargets.js\";\nimport { RegisterClass } from \"../../../../Misc/typeStore.js\";\nimport { editableInPropertyPage } from \"../../../../Decorators/nodeDecorator.js\";\n/**\n * Block used to add image processing support to fragment shader\n */\nexport class ImageProcessingBlock extends NodeMaterialBlock {\n /**\n * Create a new ImageProcessingBlock\n * @param name defines the block name\n */\n constructor(name) {\n super(name, NodeMaterialBlockTargets.Fragment);\n /**\n * Defines if the input should be converted to linear space (default: true)\n */\n this.convertInputToLinearSpace = true;\n this.registerInput(\"color\", NodeMaterialBlockConnectionPointTypes.AutoDetect);\n this.registerOutput(\"output\", NodeMaterialBlockConnectionPointTypes.Color4);\n this.registerOutput(\"rgb\", NodeMaterialBlockConnectionPointTypes.Color3);\n this._inputs[0].addExcludedConnectionPointFromAllowedTypes(NodeMaterialBlockConnectionPointTypes.Color3 | NodeMaterialBlockConnectionPointTypes.Color4 | NodeMaterialBlockConnectionPointTypes.Vector3 | NodeMaterialBlockConnectionPointTypes.Vector4);\n }\n /**\n * Gets the current class name\n * @returns the class name\n */\n getClassName() {\n return \"ImageProcessingBlock\";\n }\n /**\n * Gets the color input component\n */\n get color() {\n return this._inputs[0];\n }\n /**\n * Gets the output component\n */\n get output() {\n return this._outputs[0];\n }\n /**\n * Gets the rgb component\n */\n get rgb() {\n return this._outputs[1];\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(\"exposureLinear\");\n state._excludeVariableName(\"contrast\");\n state._excludeVariableName(\"vInverseScreenSize\");\n state._excludeVariableName(\"vignetteSettings1\");\n state._excludeVariableName(\"vignetteSettings2\");\n state._excludeVariableName(\"vCameraColorCurveNegative\");\n state._excludeVariableName(\"vCameraColorCurveNeutral\");\n state._excludeVariableName(\"vCameraColorCurvePositive\");\n state._excludeVariableName(\"txColorTransform\");\n state._excludeVariableName(\"colorTransformSettings\");\n state._excludeVariableName(\"ditherIntensity\");\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 Promise.all([import(\"../../../../ShadersWGSL/ShadersInclude/helperFunctions.js\"), import(\"../../../../ShadersWGSL/ShadersInclude/imageProcessingDeclaration.js\"), import(\"../../../../ShadersWGSL/ShadersInclude/imageProcessingFunctions.js\")]);\n } else {\n yield Promise.all([import(\"../../../../Shaders/ShadersInclude/helperFunctions.js\"), import(\"../../../../Shaders/ShadersInclude/imageProcessingDeclaration.js\"), import(\"../../../../Shaders/ShadersInclude/imageProcessingFunctions.js\")]);\n }\n _this._codeIsReady = true;\n _this.onCodeIsReadyObservable.notifyObservers(_this);\n })();\n }\n isReady(mesh, nodeMaterial, defines) {\n if (defines._areImageProcessingDirty && nodeMaterial.imageProcessingConfiguration) {\n if (!nodeMaterial.imageProcessingConfiguration.isReady()) {\n return false;\n }\n }\n return true;\n }\n prepareDefines(mesh, nodeMaterial, defines) {\n if (defines._areImageProcessingDirty && nodeMaterial.imageProcessingConfiguration) {\n nodeMaterial.imageProcessingConfiguration.prepareDefines(defines);\n }\n }\n bind(effect, nodeMaterial, mesh) {\n if (!mesh) {\n return;\n }\n if (!nodeMaterial.imageProcessingConfiguration) {\n return;\n }\n nodeMaterial.imageProcessingConfiguration.bind(effect);\n }\n _buildBlock(state) {\n var _color$connectedPoint;\n super._buildBlock(state);\n // Register for defines\n state.sharedData.blocksWithDefines.push(this);\n // Register for blocking\n state.sharedData.blockingBlocks.push(this);\n // Register for binding\n state.sharedData.bindableBlocks.push(this);\n // Uniforms\n state.uniforms.push(\"exposureLinear\");\n state.uniforms.push(\"contrast\");\n state.uniforms.push(\"vInverseScreenSize\");\n state.uniforms.push(\"vignetteSettings1\");\n state.uniforms.push(\"vignetteSettings2\");\n state.uniforms.push(\"vCameraColorCurveNegative\");\n state.uniforms.push(\"vCameraColorCurveNeutral\");\n state.uniforms.push(\"vCameraColorCurvePositive\");\n state.uniforms.push(\"txColorTransform\");\n state.uniforms.push(\"colorTransformSettings\");\n state.uniforms.push(\"ditherIntensity\");\n // Emit code\n const color = this.color;\n const output = this._outputs[0];\n const comments = `//${this.name}`;\n const overrideText = state.shaderLanguage === 1 /* ShaderLanguage.WGSL */ ? \"Vec3\" : \"\";\n state._emitFunctionFromInclude(\"helperFunctions\", comments);\n state._emitFunctionFromInclude(\"imageProcessingDeclaration\", comments);\n state._emitFunctionFromInclude(\"imageProcessingFunctions\", comments);\n if ((_color$connectedPoint = color.connectedPoint) !== null && _color$connectedPoint !== void 0 && _color$connectedPoint.isConnected) {\n if (color.connectedPoint.type === NodeMaterialBlockConnectionPointTypes.Color4 || color.connectedPoint.type === NodeMaterialBlockConnectionPointTypes.Vector4) {\n state.compilationString += `${state._declareOutput(output)} = ${color.associatedVariableName};\\n`;\n } else {\n state.compilationString += `${state._declareOutput(output)} = vec4${state.fSuffix}(${color.associatedVariableName}, 1.0);\\n`;\n }\n state.compilationString += `#ifdef IMAGEPROCESSINGPOSTPROCESS\\n`;\n if (this.convertInputToLinearSpace) {\n state.compilationString += `${output.associatedVariableName} = vec4${state.fSuffix}(toLinearSpace${overrideText}(${color.associatedVariableName}.rgb), ${color.associatedVariableName}.a);\\n`;\n }\n state.compilationString += `#else\\n`;\n state.compilationString += `#ifdef IMAGEPROCESSING\\n`;\n if (this.convertInputToLinearSpace) {\n state.compilationString += `${output.associatedVariableName} = vec4${state.fSuffix}(toLinearSpace${overrideText}(${color.associatedVariableName}.rgb), ${color.associatedVariableName}.a);\\n`;\n }\n state.compilationString += `${output.associatedVariableName} = applyImageProcessing(${output.associatedVariableName});\\n`;\n state.compilationString += `#endif\\n`;\n state.compilationString += `#endif\\n`;\n if (this.rgb.hasEndpoints) {\n state.compilationString += state._declareOutput(this.rgb) + ` = ${this.output.associatedVariableName}.xyz;\\n`;\n }\n }\n return this;\n }\n _dumpPropertiesCode() {\n let codeString = super._dumpPropertiesCode();\n codeString += `${this._codeVariableName}.convertInputToLinearSpace = ${this.convertInputToLinearSpace};\\n`;\n return codeString;\n }\n serialize() {\n const serializationObject = super.serialize();\n serializationObject.convertInputToLinearSpace = this.convertInputToLinearSpace;\n return serializationObject;\n }\n _deserialize(serializationObject, scene, rootUrl) {\n var _serializationObject$;\n super._deserialize(serializationObject, scene, rootUrl);\n this.convertInputToLinearSpace = (_serializationObject$ = serializationObject.convertInputToLinearSpace) !== null && _serializationObject$ !== void 0 ? _serializationObject$ : true;\n }\n}\n__decorate([editableInPropertyPage(\"Convert input to linear space\", 0 /* PropertyTypeForEdition.Boolean */, \"ADVANCED\")], ImageProcessingBlock.prototype, \"convertInputToLinearSpace\", void 0);\nRegisterClass(\"BABYLON.ImageProcessingBlock\", ImageProcessingBlock);","map":{"version":3,"names":["__decorate","NodeMaterialBlock","NodeMaterialBlockConnectionPointTypes","NodeMaterialBlockTargets","RegisterClass","editableInPropertyPage","ImageProcessingBlock","constructor","name","Fragment","convertInputToLinearSpace","registerInput","AutoDetect","registerOutput","Color4","Color3","_inputs","addExcludedConnectionPointFromAllowedTypes","Vector3","Vector4","getClassName","color","output","_outputs","rgb","initialize","state","_excludeVariableName","_initShaderSourceAsync","shaderLanguage","_this","_asyncToGenerator","_codeIsReady","Promise","all","onCodeIsReadyObservable","notifyObservers","isReady","mesh","nodeMaterial","defines","_areImageProcessingDirty","imageProcessingConfiguration","prepareDefines","bind","effect","_buildBlock","_color$connectedPoint","sharedData","blocksWithDefines","push","blockingBlocks","bindableBlocks","uniforms","comments","overrideText","_emitFunctionFromInclude","connectedPoint","isConnected","type","compilationString","_declareOutput","associatedVariableName","fSuffix","hasEndpoints","_dumpPropertiesCode","codeString","_codeVariableName","serialize","serializationObject","_deserialize","scene","rootUrl","_serializationObject$","prototype"],"sources":["F:/workspace/202226701027/huinongbao-app/node_modules/@babylonjs/core/Materials/Node/Blocks/Fragment/imageProcessingBlock.js"],"sourcesContent":["import { __decorate } from \"../../../../tslib.es6.js\";\nimport { NodeMaterialBlock } from \"../../nodeMaterialBlock.js\";\nimport { NodeMaterialBlockConnectionPointTypes } from \"../../Enums/nodeMaterialBlockConnectionPointTypes.js\";\nimport { NodeMaterialBlockTargets } from \"../../Enums/nodeMaterialBlockTargets.js\";\nimport { RegisterClass } from \"../../../../Misc/typeStore.js\";\nimport { editableInPropertyPage } from \"../../../../Decorators/nodeDecorator.js\";\n/**\n * Block used to add image processing support to fragment shader\n */\nexport class ImageProcessingBlock extends NodeMaterialBlock {\n /**\n * Create a new ImageProcessingBlock\n * @param name defines the block name\n */\n constructor(name) {\n super(name, NodeMaterialBlockTargets.Fragment);\n /**\n * Defines if the input should be converted to linear space (default: true)\n */\n this.convertInputToLinearSpace = true;\n this.registerInput(\"color\", NodeMaterialBlockConnectionPointTypes.AutoDetect);\n this.registerOutput(\"output\", NodeMaterialBlockConnectionPointTypes.Color4);\n this.registerOutput(\"rgb\", NodeMaterialBlockConnectionPointTypes.Color3);\n this._inputs[0].addExcludedConnectionPointFromAllowedTypes(NodeMaterialBlockConnectionPointTypes.Color3 |\n NodeMaterialBlockConnectionPointTypes.Color4 |\n NodeMaterialBlockConnectionPointTypes.Vector3 |\n NodeMaterialBlockConnectionPointTypes.Vector4);\n }\n /**\n * Gets the current class name\n * @returns the class name\n */\n getClassName() {\n return \"ImageProcessingBlock\";\n }\n /**\n * Gets the color input component\n */\n get color() {\n return this._inputs[0];\n }\n /**\n * Gets the output component\n */\n get output() {\n return this._outputs[0];\n }\n /**\n * Gets the rgb component\n */\n get rgb() {\n return this._outputs[1];\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(\"exposureLinear\");\n state._excludeVariableName(\"contrast\");\n state._excludeVariableName(\"vInverseScreenSize\");\n state._excludeVariableName(\"vignetteSettings1\");\n state._excludeVariableName(\"vignetteSettings2\");\n state._excludeVariableName(\"vCameraColorCurveNegative\");\n state._excludeVariableName(\"vCameraColorCurveNeutral\");\n state._excludeVariableName(\"vCameraColorCurvePositive\");\n state._excludeVariableName(\"txColorTransform\");\n state._excludeVariableName(\"colorTransformSettings\");\n state._excludeVariableName(\"ditherIntensity\");\n this._initShaderSourceAsync(state.shaderLanguage);\n }\n async _initShaderSourceAsync(shaderLanguage) {\n this._codeIsReady = false;\n if (shaderLanguage === 1 /* ShaderLanguage.WGSL */) {\n await Promise.all([\n import(\"../../../../ShadersWGSL/ShadersInclude/helperFunctions.js\"),\n import(\"../../../../ShadersWGSL/ShadersInclude/imageProcessingDeclaration.js\"),\n import(\"../../../../ShadersWGSL/ShadersInclude/imageProcessingFunctions.js\"),\n ]);\n }\n else {\n await Promise.all([\n import(\"../../../../Shaders/ShadersInclude/helperFunctions.js\"),\n import(\"../../../../Shaders/ShadersInclude/imageProcessingDeclaration.js\"),\n import(\"../../../../Shaders/ShadersInclude/imageProcessingFunctions.js\"),\n ]);\n }\n this._codeIsReady = true;\n this.onCodeIsReadyObservable.notifyObservers(this);\n }\n isReady(mesh, nodeMaterial, defines) {\n if (defines._areImageProcessingDirty && nodeMaterial.imageProcessingConfiguration) {\n if (!nodeMaterial.imageProcessingConfiguration.isReady()) {\n return false;\n }\n }\n return true;\n }\n prepareDefines(mesh, nodeMaterial, defines) {\n if (defines._areImageProcessingDirty && nodeMaterial.imageProcessingConfiguration) {\n nodeMaterial.imageProcessingConfiguration.prepareDefines(defines);\n }\n }\n bind(effect, nodeMaterial, mesh) {\n if (!mesh) {\n return;\n }\n if (!nodeMaterial.imageProcessingConfiguration) {\n return;\n }\n nodeMaterial.imageProcessingConfiguration.bind(effect);\n }\n _buildBlock(state) {\n super._buildBlock(state);\n // Register for defines\n state.sharedData.blocksWithDefines.push(this);\n // Register for blocking\n state.sharedData.blockingBlocks.push(this);\n // Register for binding\n state.sharedData.bindableBlocks.push(this);\n // Uniforms\n state.uniforms.push(\"exposureLinear\");\n state.uniforms.push(\"contrast\");\n state.uniforms.push(\"vInverseScreenSize\");\n state.uniforms.push(\"vignetteSettings1\");\n state.uniforms.push(\"vignetteSettings2\");\n state.uniforms.push(\"vCameraColorCurveNegative\");\n state.uniforms.push(\"vCameraColorCurveNeutral\");\n state.uniforms.push(\"vCameraColorCurvePositive\");\n state.uniforms.push(\"txColorTransform\");\n state.uniforms.push(\"colorTransformSettings\");\n state.uniforms.push(\"ditherIntensity\");\n // Emit code\n const color = this.color;\n const output = this._outputs[0];\n const comments = `//${this.name}`;\n const overrideText = state.shaderLanguage === 1 /* ShaderLanguage.WGSL */ ? \"Vec3\" : \"\";\n state._emitFunctionFromInclude(\"helperFunctions\", comments);\n state._emitFunctionFromInclude(\"imageProcessingDeclaration\", comments);\n state._emitFunctionFromInclude(\"imageProcessingFunctions\", comments);\n if (color.connectedPoint?.isConnected) {\n if (color.connectedPoint.type === NodeMaterialBlockConnectionPointTypes.Color4 || color.connectedPoint.type === NodeMaterialBlockConnectionPointTypes.Vector4) {\n state.compilationString += `${state._declareOutput(output)} = ${color.associatedVariableName};\\n`;\n }\n else {\n state.compilationString += `${state._declareOutput(output)} = vec4${state.fSuffix}(${color.associatedVariableName}, 1.0);\\n`;\n }\n state.compilationString += `#ifdef IMAGEPROCESSINGPOSTPROCESS\\n`;\n if (this.convertInputToLinearSpace) {\n state.compilationString += `${output.associatedVariableName} = vec4${state.fSuffix}(toLinearSpace${overrideText}(${color.associatedVariableName}.rgb), ${color.associatedVariableName}.a);\\n`;\n }\n state.compilationString += `#else\\n`;\n state.compilationString += `#ifdef IMAGEPROCESSING\\n`;\n if (this.convertInputToLinearSpace) {\n state.compilationString += `${output.associatedVariableName} = vec4${state.fSuffix}(toLinearSpace${overrideText}(${color.associatedVariableName}.rgb), ${color.associatedVariableName}.a);\\n`;\n }\n state.compilationString += `${output.associatedVariableName} = applyImageProcessing(${output.associatedVariableName});\\n`;\n state.compilationString += `#endif\\n`;\n state.compilationString += `#endif\\n`;\n if (this.rgb.hasEndpoints) {\n state.compilationString += state._declareOutput(this.rgb) + ` = ${this.output.associatedVariableName}.xyz;\\n`;\n }\n }\n return this;\n }\n _dumpPropertiesCode() {\n let codeString = super._dumpPropertiesCode();\n codeString += `${this._codeVariableName}.convertInputToLinearSpace = ${this.convertInputToLinearSpace};\\n`;\n return codeString;\n }\n serialize() {\n const serializationObject = super.serialize();\n serializationObject.convertInputToLinearSpace = this.convertInputToLinearSpace;\n return serializationObject;\n }\n _deserialize(serializationObject, scene, rootUrl) {\n super._deserialize(serializationObject, scene, rootUrl);\n this.convertInputToLinearSpace = serializationObject.convertInputToLinearSpace ?? true;\n }\n}\n__decorate([\n editableInPropertyPage(\"Convert input to linear space\", 0 /* PropertyTypeForEdition.Boolean */, \"ADVANCED\")\n], ImageProcessingBlock.prototype, \"convertInputToLinearSpace\", void 0);\nRegisterClass(\"BABYLON.ImageProcessingBlock\", ImageProcessingBlock);\n"],"mappings":"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","ignoreList":[]},"metadata":{},"sourceType":"module","externalDependencies":[]}