5faf5c627db90433bd2d404b8bf82f6925d73a32f6ac2cf855f1cd36c2590a81.json 22 KB

1
  1. {"ast":null,"code":"import { __decorate } from \"../../../../tslib.es6.js\";\nimport { NodeRenderGraphBlock } from \"../../nodeRenderGraphBlock.js\";\nimport { RegisterClass } from \"../../../../Misc/typeStore.js\";\nimport { NodeRenderGraphBlockConnectionPointTypes } from \"../../Types/nodeRenderGraphTypes.js\";\nimport { editableInPropertyPage } from \"../../../../Decorators/nodeDecorator.js\";\nimport { FrameGraphBloomTask } from \"../../../Tasks/PostProcesses/bloomTask.js\";\n/**\n * Block that implements the bloom post process\n */\nexport class NodeRenderGraphBloomPostProcessBlock extends NodeRenderGraphBlock {\n /**\n * Gets the frame graph task associated with this block\n */\n get task() {\n return this._frameGraphTask;\n }\n /**\n * Create a new NodeRenderGraphBloomPostProcessBlock\n * @param name defines the block name\n * @param frameGraph defines the hosting frame graph\n * @param scene defines the hosting scene\n * @param hdr If high dynamic range textures should be used (default: false)\n * @param bloomScale The scale of the bloom effect (default: 0.5)\n */\n constructor(name, frameGraph, scene, hdr = false, bloomScale = 0.5) {\n super(name, frameGraph, scene);\n this._additionalConstructionParameters = [hdr, bloomScale];\n this.registerInput(\"source\", NodeRenderGraphBlockConnectionPointTypes.Texture);\n this.registerInput(\"destination\", NodeRenderGraphBlockConnectionPointTypes.Texture, true);\n this.registerOutput(\"output\", NodeRenderGraphBlockConnectionPointTypes.BasedOnInput);\n this.source.addAcceptedConnectionPointTypes(NodeRenderGraphBlockConnectionPointTypes.TextureAllButBackBuffer);\n this.destination.addAcceptedConnectionPointTypes(NodeRenderGraphBlockConnectionPointTypes.TextureAll);\n this.output._typeConnectionSource = () => {\n return this.destination.isConnected ? this.destination : this.source;\n };\n this._frameGraphTask = new FrameGraphBloomTask(this.name, frameGraph, scene.getEngine(), 0.75, 64, 0.2, hdr, bloomScale);\n }\n _createTask(bloomScale, hdr) {\n const sourceSamplingMode = this._frameGraphTask.sourceSamplingMode;\n const threshold = this._frameGraphTask.bloom.threshold;\n const weight = this._frameGraphTask.bloom.weight;\n const kernel = this._frameGraphTask.bloom.kernel;\n this._frameGraphTask.dispose();\n this._frameGraphTask = new FrameGraphBloomTask(this.name, this._frameGraph, this._scene.getEngine(), weight, kernel, threshold, hdr, bloomScale);\n this._frameGraphTask.sourceSamplingMode = sourceSamplingMode;\n this._additionalConstructionParameters = [hdr, bloomScale];\n }\n /** The quality of the blur effect */\n get bloomScale() {\n return this._frameGraphTask.bloom.scale;\n }\n set bloomScale(value) {\n this._createTask(value, this._frameGraphTask.hdr);\n }\n /** If high dynamic range textures should be used */\n get hdr() {\n return this._frameGraphTask.hdr;\n }\n set hdr(value) {\n this._createTask(this._frameGraphTask.bloom.scale, value);\n }\n /** Sampling mode used to sample from the source texture */\n get sourceSamplingMode() {\n return this._frameGraphTask.sourceSamplingMode;\n }\n set sourceSamplingMode(value) {\n this._frameGraphTask.sourceSamplingMode = value;\n }\n /** The luminance threshold to find bright areas of the image to bloom. */\n get threshold() {\n return this._frameGraphTask.bloom.threshold;\n }\n set threshold(value) {\n this._frameGraphTask.bloom.threshold = value;\n }\n /** The strength of the bloom. */\n get weight() {\n return this._frameGraphTask.bloom.weight;\n }\n set weight(value) {\n this._frameGraphTask.bloom.weight = value;\n }\n /** Specifies the size of the bloom blur kernel, relative to the final output size */\n get kernel() {\n return this._frameGraphTask.bloom.kernel;\n }\n set kernel(value) {\n this._frameGraphTask.bloom.kernel = value;\n }\n /**\n * Gets the current class name\n * @returns the class name\n */\n getClassName() {\n return \"NodeRenderGraphBloomPostProcessBlock\";\n }\n /**\n * Gets the source input component\n */\n get source() {\n return this._inputs[0];\n }\n /**\n * Gets the destination input component\n */\n get destination() {\n return this._inputs[1];\n }\n /**\n * Gets the output component\n */\n get output() {\n return this._outputs[0];\n }\n _buildBlock(state) {\n super._buildBlock(state);\n this._frameGraphTask.name = this.name;\n this.output.value = this._frameGraphTask.outputTexture; // the value of the output connection point is the \"output\" texture of the task\n const sourceConnectedPoint = this.source.connectedPoint;\n if (sourceConnectedPoint) {\n this._frameGraphTask.sourceTexture = sourceConnectedPoint.value;\n }\n const destinationConnectedPoint = this.destination.connectedPoint;\n if (destinationConnectedPoint) {\n this._frameGraphTask.destinationTexture = destinationConnectedPoint.value;\n }\n }\n _dumpPropertiesCode() {\n const codes = [];\n codes.push(`${this._codeVariableName}.threshold = ${this.threshold};`);\n codes.push(`${this._codeVariableName}.weight = ${this.weight};`);\n codes.push(`${this._codeVariableName}.kernel = ${this.kernel};`);\n codes.push(`${this._codeVariableName}.sourceSamplingMode = ${this.sourceSamplingMode};`);\n return super._dumpPropertiesCode() + codes.join(\"\\n\");\n }\n serialize() {\n const serializationObject = super.serialize();\n serializationObject.threshold = this.threshold;\n serializationObject.weight = this.weight;\n serializationObject.kernel = this.kernel;\n serializationObject.sourceSamplingMode = this.sourceSamplingMode;\n return serializationObject;\n }\n _deserialize(serializationObject) {\n super._deserialize(serializationObject);\n this.threshold = serializationObject.threshold;\n this.weight = serializationObject.weight;\n this.kernel = serializationObject.kernel;\n this.sourceSamplingMode = serializationObject.sourceSamplingMode;\n }\n}\n__decorate([editableInPropertyPage(\"Bloom scale\", 1 /* PropertyTypeForEdition.Float */, \"PROPERTIES\")], NodeRenderGraphBloomPostProcessBlock.prototype, \"bloomScale\", null);\n__decorate([editableInPropertyPage(\"HDR\", 0 /* PropertyTypeForEdition.Boolean */, \"PROPERTIES\")], NodeRenderGraphBloomPostProcessBlock.prototype, \"hdr\", null);\n__decorate([editableInPropertyPage(\"Source sampling mode\", 6 /* PropertyTypeForEdition.SamplingMode */)], NodeRenderGraphBloomPostProcessBlock.prototype, \"sourceSamplingMode\", null);\n__decorate([editableInPropertyPage(\"Threshold\", 1 /* PropertyTypeForEdition.Float */, \"PROPERTIES\", {\n min: 0,\n max: 2\n})], NodeRenderGraphBloomPostProcessBlock.prototype, \"threshold\", null);\n__decorate([editableInPropertyPage(\"Weight\", 1 /* PropertyTypeForEdition.Float */, \"PROPERTIES\", {\n min: 0,\n max: 3\n})], NodeRenderGraphBloomPostProcessBlock.prototype, \"weight\", null);\n__decorate([editableInPropertyPage(\"Kernel\", 2 /* PropertyTypeForEdition.Int */, \"PROPERTIES\", {\n min: 1,\n max: 128\n})], NodeRenderGraphBloomPostProcessBlock.prototype, \"kernel\", null);\nRegisterClass(\"BABYLON.NodeRenderGraphBloomPostProcessBlock\", NodeRenderGraphBloomPostProcessBlock);","map":{"version":3,"names":["__decorate","NodeRenderGraphBlock","RegisterClass","NodeRenderGraphBlockConnectionPointTypes","editableInPropertyPage","FrameGraphBloomTask","NodeRenderGraphBloomPostProcessBlock","task","_frameGraphTask","constructor","name","frameGraph","scene","hdr","bloomScale","_additionalConstructionParameters","registerInput","Texture","registerOutput","BasedOnInput","source","addAcceptedConnectionPointTypes","TextureAllButBackBuffer","destination","TextureAll","output","_typeConnectionSource","isConnected","getEngine","_createTask","sourceSamplingMode","threshold","bloom","weight","kernel","dispose","_frameGraph","_scene","scale","value","getClassName","_inputs","_outputs","_buildBlock","state","outputTexture","sourceConnectedPoint","connectedPoint","sourceTexture","destinationConnectedPoint","destinationTexture","_dumpPropertiesCode","codes","push","_codeVariableName","join","serialize","serializationObject","_deserialize","prototype","min","max"],"sources":["F:/workspace/202226701027/huinongbao-app/node_modules/@babylonjs/core/FrameGraph/Node/Blocks/PostProcesses/bloomPostProcessBlock.js"],"sourcesContent":["import { __decorate } from \"../../../../tslib.es6.js\";\nimport { NodeRenderGraphBlock } from \"../../nodeRenderGraphBlock.js\";\nimport { RegisterClass } from \"../../../../Misc/typeStore.js\";\nimport { NodeRenderGraphBlockConnectionPointTypes } from \"../../Types/nodeRenderGraphTypes.js\";\nimport { editableInPropertyPage } from \"../../../../Decorators/nodeDecorator.js\";\nimport { FrameGraphBloomTask } from \"../../../Tasks/PostProcesses/bloomTask.js\";\n/**\n * Block that implements the bloom post process\n */\nexport class NodeRenderGraphBloomPostProcessBlock extends NodeRenderGraphBlock {\n /**\n * Gets the frame graph task associated with this block\n */\n get task() {\n return this._frameGraphTask;\n }\n /**\n * Create a new NodeRenderGraphBloomPostProcessBlock\n * @param name defines the block name\n * @param frameGraph defines the hosting frame graph\n * @param scene defines the hosting scene\n * @param hdr If high dynamic range textures should be used (default: false)\n * @param bloomScale The scale of the bloom effect (default: 0.5)\n */\n constructor(name, frameGraph, scene, hdr = false, bloomScale = 0.5) {\n super(name, frameGraph, scene);\n this._additionalConstructionParameters = [hdr, bloomScale];\n this.registerInput(\"source\", NodeRenderGraphBlockConnectionPointTypes.Texture);\n this.registerInput(\"destination\", NodeRenderGraphBlockConnectionPointTypes.Texture, true);\n this.registerOutput(\"output\", NodeRenderGraphBlockConnectionPointTypes.BasedOnInput);\n this.source.addAcceptedConnectionPointTypes(NodeRenderGraphBlockConnectionPointTypes.TextureAllButBackBuffer);\n this.destination.addAcceptedConnectionPointTypes(NodeRenderGraphBlockConnectionPointTypes.TextureAll);\n this.output._typeConnectionSource = () => {\n return this.destination.isConnected ? this.destination : this.source;\n };\n this._frameGraphTask = new FrameGraphBloomTask(this.name, frameGraph, scene.getEngine(), 0.75, 64, 0.2, hdr, bloomScale);\n }\n _createTask(bloomScale, hdr) {\n const sourceSamplingMode = this._frameGraphTask.sourceSamplingMode;\n const threshold = this._frameGraphTask.bloom.threshold;\n const weight = this._frameGraphTask.bloom.weight;\n const kernel = this._frameGraphTask.bloom.kernel;\n this._frameGraphTask.dispose();\n this._frameGraphTask = new FrameGraphBloomTask(this.name, this._frameGraph, this._scene.getEngine(), weight, kernel, threshold, hdr, bloomScale);\n this._frameGraphTask.sourceSamplingMode = sourceSamplingMode;\n this._additionalConstructionParameters = [hdr, bloomScale];\n }\n /** The quality of the blur effect */\n get bloomScale() {\n return this._frameGraphTask.bloom.scale;\n }\n set bloomScale(value) {\n this._createTask(value, this._frameGraphTask.hdr);\n }\n /** If high dynamic range textures should be used */\n get hdr() {\n return this._frameGraphTask.hdr;\n }\n set hdr(value) {\n this._createTask(this._frameGraphTask.bloom.scale, value);\n }\n /** Sampling mode used to sample from the source texture */\n get sourceSamplingMode() {\n return this._frameGraphTask.sourceSamplingMode;\n }\n set sourceSamplingMode(value) {\n this._frameGraphTask.sourceSamplingMode = value;\n }\n /** The luminance threshold to find bright areas of the image to bloom. */\n get threshold() {\n return this._frameGraphTask.bloom.threshold;\n }\n set threshold(value) {\n this._frameGraphTask.bloom.threshold = value;\n }\n /** The strength of the bloom. */\n get weight() {\n return this._frameGraphTask.bloom.weight;\n }\n set weight(value) {\n this._frameGraphTask.bloom.weight = value;\n }\n /** Specifies the size of the bloom blur kernel, relative to the final output size */\n get kernel() {\n return this._frameGraphTask.bloom.kernel;\n }\n set kernel(value) {\n this._frameGraphTask.bloom.kernel = value;\n }\n /**\n * Gets the current class name\n * @returns the class name\n */\n getClassName() {\n return \"NodeRenderGraphBloomPostProcessBlock\";\n }\n /**\n * Gets the source input component\n */\n get source() {\n return this._inputs[0];\n }\n /**\n * Gets the destination input component\n */\n get destination() {\n return this._inputs[1];\n }\n /**\n * Gets the output component\n */\n get output() {\n return this._outputs[0];\n }\n _buildBlock(state) {\n super._buildBlock(state);\n this._frameGraphTask.name = this.name;\n this.output.value = this._frameGraphTask.outputTexture; // the value of the output connection point is the \"output\" texture of the task\n const sourceConnectedPoint = this.source.connectedPoint;\n if (sourceConnectedPoint) {\n this._frameGraphTask.sourceTexture = sourceConnectedPoint.value;\n }\n const destinationConnectedPoint = this.destination.connectedPoint;\n if (destinationConnectedPoint) {\n this._frameGraphTask.destinationTexture = destinationConnectedPoint.value;\n }\n }\n _dumpPropertiesCode() {\n const codes = [];\n codes.push(`${this._codeVariableName}.threshold = ${this.threshold};`);\n codes.push(`${this._codeVariableName}.weight = ${this.weight};`);\n codes.push(`${this._codeVariableName}.kernel = ${this.kernel};`);\n codes.push(`${this._codeVariableName}.sourceSamplingMode = ${this.sourceSamplingMode};`);\n return super._dumpPropertiesCode() + codes.join(\"\\n\");\n }\n serialize() {\n const serializationObject = super.serialize();\n serializationObject.threshold = this.threshold;\n serializationObject.weight = this.weight;\n serializationObject.kernel = this.kernel;\n serializationObject.sourceSamplingMode = this.sourceSamplingMode;\n return serializationObject;\n }\n _deserialize(serializationObject) {\n super._deserialize(serializationObject);\n this.threshold = serializationObject.threshold;\n this.weight = serializationObject.weight;\n this.kernel = serializationObject.kernel;\n this.sourceSamplingMode = serializationObject.sourceSamplingMode;\n }\n}\n__decorate([\n editableInPropertyPage(\"Bloom scale\", 1 /* PropertyTypeForEdition.Float */, \"PROPERTIES\")\n], NodeRenderGraphBloomPostProcessBlock.prototype, \"bloomScale\", null);\n__decorate([\n editableInPropertyPage(\"HDR\", 0 /* PropertyTypeForEdition.Boolean */, \"PROPERTIES\")\n], NodeRenderGraphBloomPostProcessBlock.prototype, \"hdr\", null);\n__decorate([\n editableInPropertyPage(\"Source sampling mode\", 6 /* PropertyTypeForEdition.SamplingMode */)\n], NodeRenderGraphBloomPostProcessBlock.prototype, \"sourceSamplingMode\", null);\n__decorate([\n editableInPropertyPage(\"Threshold\", 1 /* PropertyTypeForEdition.Float */, \"PROPERTIES\", { min: 0, max: 2 })\n], NodeRenderGraphBloomPostProcessBlock.prototype, \"threshold\", null);\n__decorate([\n editableInPropertyPage(\"Weight\", 1 /* PropertyTypeForEdition.Float */, \"PROPERTIES\", { min: 0, max: 3 })\n], NodeRenderGraphBloomPostProcessBlock.prototype, \"weight\", null);\n__decorate([\n editableInPropertyPage(\"Kernel\", 2 /* PropertyTypeForEdition.Int */, \"PROPERTIES\", { min: 1, max: 128 })\n], NodeRenderGraphBloomPostProcessBlock.prototype, \"kernel\", null);\nRegisterClass(\"BABYLON.NodeRenderGraphBloomPostProcessBlock\", NodeRenderGraphBloomPostProcessBlock);\n"],"mappings":"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","ignoreList":[]},"metadata":{},"sourceType":"module","externalDependencies":[]}