05d2d2a6956e131cae7838c3eaa3f6570ed1879c1d5ca0c39e51388bcfac7564.json 30 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 { FrameGraphDepthOfFieldTask } from \"../../../Tasks/PostProcesses/depthOfFieldTask.js\";\n/**\n * Block that implements the depth of field post process\n */\nexport class NodeRenderGraphDepthOfFieldPostProcessBlock 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 NodeRenderGraphDepthOfFieldPostProcessBlock\n * @param name defines the block name\n * @param frameGraph defines the hosting frame graph\n * @param scene defines the hosting scene\n * @param blurLevel The quality of the depth of field effect (default: ThinDepthOfFieldEffectBlurLevel.Low)\n * @param hdr If high dynamic range textures should be used (default: false)\n */\n constructor(name, frameGraph, scene, blurLevel = 0 /* ThinDepthOfFieldEffectBlurLevel.Low */, hdr = false) {\n super(name, frameGraph, scene);\n this._additionalConstructionParameters = [blurLevel, hdr];\n this.registerInput(\"source\", NodeRenderGraphBlockConnectionPointTypes.Texture);\n this.registerInput(\"geomViewDepth\", NodeRenderGraphBlockConnectionPointTypes.TextureViewDepth);\n this.registerInput(\"destination\", NodeRenderGraphBlockConnectionPointTypes.Texture, true);\n this.registerInput(\"camera\", NodeRenderGraphBlockConnectionPointTypes.Camera);\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 FrameGraphDepthOfFieldTask(this.name, frameGraph, scene.getEngine(), blurLevel, hdr);\n }\n _createTask(blurLevel, hdr) {\n const sourceSamplingMode = this._frameGraphTask.sourceSamplingMode;\n const depthSamplingMode = this._frameGraphTask.depthSamplingMode;\n const focalLength = this._frameGraphTask.depthOfField.focalLength;\n const fStop = this._frameGraphTask.depthOfField.fStop;\n const focusDistance = this._frameGraphTask.depthOfField.focusDistance;\n const lensSize = this._frameGraphTask.depthOfField.lensSize;\n this._frameGraphTask.dispose();\n this._frameGraphTask = new FrameGraphDepthOfFieldTask(this.name, this._frameGraph, this._scene.getEngine(), blurLevel, hdr);\n this._frameGraphTask.sourceSamplingMode = sourceSamplingMode;\n this._frameGraphTask.depthSamplingMode = depthSamplingMode;\n this._frameGraphTask.depthOfField.focalLength = focalLength;\n this._frameGraphTask.depthOfField.fStop = fStop;\n this._frameGraphTask.depthOfField.focusDistance = focusDistance;\n this._frameGraphTask.depthOfField.lensSize = lensSize;\n this._additionalConstructionParameters = [blurLevel, hdr];\n }\n /** The quality of the blur effect */\n get blurLevel() {\n return this._frameGraphTask.depthOfField.blurLevel;\n }\n set blurLevel(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.depthOfField.blurLevel, 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 /** Sampling mode used to sample from the depth texture */\n get depthSamplingMode() {\n return this._frameGraphTask.depthSamplingMode;\n }\n set depthSamplingMode(value) {\n this._frameGraphTask.depthSamplingMode = value;\n }\n /** The focal the length of the camera used in the effect in scene units/1000 (eg. millimeter). */\n get focalLength() {\n return this._frameGraphTask.depthOfField.focalLength;\n }\n set focalLength(value) {\n this._frameGraphTask.depthOfField.focalLength = value;\n }\n /** F-Stop of the effect's camera. The diameter of the resulting aperture can be computed by lensSize/fStop. */\n get fStop() {\n return this._frameGraphTask.depthOfField.fStop;\n }\n set fStop(value) {\n this._frameGraphTask.depthOfField.fStop = value;\n }\n /** Distance away from the camera to focus on in scene units/1000 (eg. millimeter). */\n get focusDistance() {\n return this._frameGraphTask.depthOfField.focusDistance;\n }\n set focusDistance(value) {\n this._frameGraphTask.depthOfField.focusDistance = value;\n }\n /** Max lens size in scene units/1000 (eg. millimeter). Standard cameras are 50mm. The diameter of the resulting aperture can be computed by lensSize/fStop. */\n get lensSize() {\n return this._frameGraphTask.depthOfField.lensSize;\n }\n set lensSize(value) {\n this._frameGraphTask.depthOfField.lensSize = value;\n }\n /**\n * Gets the current class name\n * @returns the class name\n */\n getClassName() {\n return \"NodeRenderGraphDepthOfFieldPostProcessBlock\";\n }\n /**\n * Gets the source input component\n */\n get source() {\n return this._inputs[0];\n }\n /**\n * Gets the geometry view depth input component\n */\n get geomViewDepth() {\n return this._inputs[1];\n }\n /**\n * Gets the destination input component\n */\n get destination() {\n return this._inputs[2];\n }\n /**\n * Gets the camera input component\n */\n get camera() {\n return this._inputs[3];\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;\n const sourceConnectedPoint = this.source.connectedPoint;\n if (sourceConnectedPoint) {\n this._frameGraphTask.sourceTexture = sourceConnectedPoint.value;\n }\n const geomViewDepthConnectedPoint = this.geomViewDepth.connectedPoint;\n if (geomViewDepthConnectedPoint) {\n this._frameGraphTask.depthTexture = geomViewDepthConnectedPoint.value;\n }\n const destinationConnectedPoint = this.destination.connectedPoint;\n if (destinationConnectedPoint) {\n this._frameGraphTask.destinationTexture = destinationConnectedPoint.value;\n }\n const cameraConnectedPoint = this.camera.connectedPoint;\n if (cameraConnectedPoint) {\n this._frameGraphTask.camera = cameraConnectedPoint.value;\n }\n }\n _dumpPropertiesCode() {\n const codes = [];\n codes.push(`${this._codeVariableName}.lensSize = ${this.lensSize};`);\n codes.push(`${this._codeVariableName}.fStop = ${this.fStop};`);\n codes.push(`${this._codeVariableName}.focusDistance = ${this.focusDistance};`);\n codes.push(`${this._codeVariableName}.focalLength = ${this.focalLength};`);\n codes.push(`${this._codeVariableName}.sourceSamplingMode = ${this.sourceSamplingMode};`);\n codes.push(`${this._codeVariableName}.depthSamplingMode = ${this.depthSamplingMode};`);\n return super._dumpPropertiesCode() + codes.join(\"\\n\");\n }\n serialize() {\n const serializationObject = super.serialize();\n serializationObject.lensSize = this.lensSize;\n serializationObject.fStop = this.fStop;\n serializationObject.focusDistance = this.focusDistance;\n serializationObject.focalLength = this.focalLength;\n serializationObject.sourceSamplingMode = this.sourceSamplingMode;\n serializationObject.depthSamplingMode = this.depthSamplingMode;\n return serializationObject;\n }\n _deserialize(serializationObject) {\n super._deserialize(serializationObject);\n this.lensSize = serializationObject.lensSize;\n this.fStop = serializationObject.fStop;\n this.focusDistance = serializationObject.focusDistance;\n this.focalLength = serializationObject.focalLength;\n this.sourceSamplingMode = serializationObject.sourceSamplingMode;\n this.depthSamplingMode = serializationObject.depthSamplingMode;\n }\n}\n__decorate([editableInPropertyPage(\"Blur level\", 4 /* PropertyTypeForEdition.List */, \"PROPERTIES\", {\n options: [{\n label: \"Low\",\n value: 0 /* ThinDepthOfFieldEffectBlurLevel.Low */\n }, {\n label: \"Medium\",\n value: 1 /* ThinDepthOfFieldEffectBlurLevel.Medium */\n }, {\n label: \"High\",\n value: 2 /* ThinDepthOfFieldEffectBlurLevel.High */\n }]\n})], NodeRenderGraphDepthOfFieldPostProcessBlock.prototype, \"blurLevel\", null);\n__decorate([editableInPropertyPage(\"HDR\", 0 /* PropertyTypeForEdition.Boolean */, \"PROPERTIES\")], NodeRenderGraphDepthOfFieldPostProcessBlock.prototype, \"hdr\", null);\n__decorate([editableInPropertyPage(\"Source sampling mode\", 6 /* PropertyTypeForEdition.SamplingMode */, \"PROPERTIES\")], NodeRenderGraphDepthOfFieldPostProcessBlock.prototype, \"sourceSamplingMode\", null);\n__decorate([editableInPropertyPage(\"Depth sampling mode\", 6 /* PropertyTypeForEdition.SamplingMode */, \"PROPERTIES\")], NodeRenderGraphDepthOfFieldPostProcessBlock.prototype, \"depthSamplingMode\", null);\n__decorate([editableInPropertyPage(\"Focal length\", 1 /* PropertyTypeForEdition.Float */, \"PROPERTIES\")], NodeRenderGraphDepthOfFieldPostProcessBlock.prototype, \"focalLength\", null);\n__decorate([editableInPropertyPage(\"F-Stop\", 1 /* PropertyTypeForEdition.Float */, \"PROPERTIES\")], NodeRenderGraphDepthOfFieldPostProcessBlock.prototype, \"fStop\", null);\n__decorate([editableInPropertyPage(\"Focus distance\", 1 /* PropertyTypeForEdition.Float */, \"PROPERTIES\")], NodeRenderGraphDepthOfFieldPostProcessBlock.prototype, \"focusDistance\", null);\n__decorate([editableInPropertyPage(\"Lens size\", 1 /* PropertyTypeForEdition.Float */, \"PROPERTIES\")], NodeRenderGraphDepthOfFieldPostProcessBlock.prototype, \"lensSize\", null);\nRegisterClass(\"BABYLON.NodeRenderGraphDepthOfFieldPostProcessBlock\", NodeRenderGraphDepthOfFieldPostProcessBlock);","map":{"version":3,"names":["__decorate","NodeRenderGraphBlock","RegisterClass","NodeRenderGraphBlockConnectionPointTypes","editableInPropertyPage","FrameGraphDepthOfFieldTask","NodeRenderGraphDepthOfFieldPostProcessBlock","task","_frameGraphTask","constructor","name","frameGraph","scene","blurLevel","hdr","_additionalConstructionParameters","registerInput","Texture","TextureViewDepth","Camera","registerOutput","BasedOnInput","source","addAcceptedConnectionPointTypes","TextureAllButBackBuffer","destination","TextureAll","output","_typeConnectionSource","isConnected","getEngine","_createTask","sourceSamplingMode","depthSamplingMode","focalLength","depthOfField","fStop","focusDistance","lensSize","dispose","_frameGraph","_scene","value","getClassName","_inputs","geomViewDepth","camera","_outputs","_buildBlock","state","outputTexture","sourceConnectedPoint","connectedPoint","sourceTexture","geomViewDepthConnectedPoint","depthTexture","destinationConnectedPoint","destinationTexture","cameraConnectedPoint","_dumpPropertiesCode","codes","push","_codeVariableName","join","serialize","serializationObject","_deserialize","options","label","prototype"],"sources":["F:/workspace/202226701027/huinongbao-app/node_modules/@babylonjs/core/FrameGraph/Node/Blocks/PostProcesses/depthOfFieldPostProcessBlock.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 { FrameGraphDepthOfFieldTask } from \"../../../Tasks/PostProcesses/depthOfFieldTask.js\";\n/**\n * Block that implements the depth of field post process\n */\nexport class NodeRenderGraphDepthOfFieldPostProcessBlock 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 NodeRenderGraphDepthOfFieldPostProcessBlock\n * @param name defines the block name\n * @param frameGraph defines the hosting frame graph\n * @param scene defines the hosting scene\n * @param blurLevel The quality of the depth of field effect (default: ThinDepthOfFieldEffectBlurLevel.Low)\n * @param hdr If high dynamic range textures should be used (default: false)\n */\n constructor(name, frameGraph, scene, blurLevel = 0 /* ThinDepthOfFieldEffectBlurLevel.Low */, hdr = false) {\n super(name, frameGraph, scene);\n this._additionalConstructionParameters = [blurLevel, hdr];\n this.registerInput(\"source\", NodeRenderGraphBlockConnectionPointTypes.Texture);\n this.registerInput(\"geomViewDepth\", NodeRenderGraphBlockConnectionPointTypes.TextureViewDepth);\n this.registerInput(\"destination\", NodeRenderGraphBlockConnectionPointTypes.Texture, true);\n this.registerInput(\"camera\", NodeRenderGraphBlockConnectionPointTypes.Camera);\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 FrameGraphDepthOfFieldTask(this.name, frameGraph, scene.getEngine(), blurLevel, hdr);\n }\n _createTask(blurLevel, hdr) {\n const sourceSamplingMode = this._frameGraphTask.sourceSamplingMode;\n const depthSamplingMode = this._frameGraphTask.depthSamplingMode;\n const focalLength = this._frameGraphTask.depthOfField.focalLength;\n const fStop = this._frameGraphTask.depthOfField.fStop;\n const focusDistance = this._frameGraphTask.depthOfField.focusDistance;\n const lensSize = this._frameGraphTask.depthOfField.lensSize;\n this._frameGraphTask.dispose();\n this._frameGraphTask = new FrameGraphDepthOfFieldTask(this.name, this._frameGraph, this._scene.getEngine(), blurLevel, hdr);\n this._frameGraphTask.sourceSamplingMode = sourceSamplingMode;\n this._frameGraphTask.depthSamplingMode = depthSamplingMode;\n this._frameGraphTask.depthOfField.focalLength = focalLength;\n this._frameGraphTask.depthOfField.fStop = fStop;\n this._frameGraphTask.depthOfField.focusDistance = focusDistance;\n this._frameGraphTask.depthOfField.lensSize = lensSize;\n this._additionalConstructionParameters = [blurLevel, hdr];\n }\n /** The quality of the blur effect */\n get blurLevel() {\n return this._frameGraphTask.depthOfField.blurLevel;\n }\n set blurLevel(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.depthOfField.blurLevel, 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 /** Sampling mode used to sample from the depth texture */\n get depthSamplingMode() {\n return this._frameGraphTask.depthSamplingMode;\n }\n set depthSamplingMode(value) {\n this._frameGraphTask.depthSamplingMode = value;\n }\n /** The focal the length of the camera used in the effect in scene units/1000 (eg. millimeter). */\n get focalLength() {\n return this._frameGraphTask.depthOfField.focalLength;\n }\n set focalLength(value) {\n this._frameGraphTask.depthOfField.focalLength = value;\n }\n /** F-Stop of the effect's camera. The diameter of the resulting aperture can be computed by lensSize/fStop. */\n get fStop() {\n return this._frameGraphTask.depthOfField.fStop;\n }\n set fStop(value) {\n this._frameGraphTask.depthOfField.fStop = value;\n }\n /** Distance away from the camera to focus on in scene units/1000 (eg. millimeter). */\n get focusDistance() {\n return this._frameGraphTask.depthOfField.focusDistance;\n }\n set focusDistance(value) {\n this._frameGraphTask.depthOfField.focusDistance = value;\n }\n /** Max lens size in scene units/1000 (eg. millimeter). Standard cameras are 50mm. The diameter of the resulting aperture can be computed by lensSize/fStop. */\n get lensSize() {\n return this._frameGraphTask.depthOfField.lensSize;\n }\n set lensSize(value) {\n this._frameGraphTask.depthOfField.lensSize = value;\n }\n /**\n * Gets the current class name\n * @returns the class name\n */\n getClassName() {\n return \"NodeRenderGraphDepthOfFieldPostProcessBlock\";\n }\n /**\n * Gets the source input component\n */\n get source() {\n return this._inputs[0];\n }\n /**\n * Gets the geometry view depth input component\n */\n get geomViewDepth() {\n return this._inputs[1];\n }\n /**\n * Gets the destination input component\n */\n get destination() {\n return this._inputs[2];\n }\n /**\n * Gets the camera input component\n */\n get camera() {\n return this._inputs[3];\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;\n const sourceConnectedPoint = this.source.connectedPoint;\n if (sourceConnectedPoint) {\n this._frameGraphTask.sourceTexture = sourceConnectedPoint.value;\n }\n const geomViewDepthConnectedPoint = this.geomViewDepth.connectedPoint;\n if (geomViewDepthConnectedPoint) {\n this._frameGraphTask.depthTexture = geomViewDepthConnectedPoint.value;\n }\n const destinationConnectedPoint = this.destination.connectedPoint;\n if (destinationConnectedPoint) {\n this._frameGraphTask.destinationTexture = destinationConnectedPoint.value;\n }\n const cameraConnectedPoint = this.camera.connectedPoint;\n if (cameraConnectedPoint) {\n this._frameGraphTask.camera = cameraConnectedPoint.value;\n }\n }\n _dumpPropertiesCode() {\n const codes = [];\n codes.push(`${this._codeVariableName}.lensSize = ${this.lensSize};`);\n codes.push(`${this._codeVariableName}.fStop = ${this.fStop};`);\n codes.push(`${this._codeVariableName}.focusDistance = ${this.focusDistance};`);\n codes.push(`${this._codeVariableName}.focalLength = ${this.focalLength};`);\n codes.push(`${this._codeVariableName}.sourceSamplingMode = ${this.sourceSamplingMode};`);\n codes.push(`${this._codeVariableName}.depthSamplingMode = ${this.depthSamplingMode};`);\n return super._dumpPropertiesCode() + codes.join(\"\\n\");\n }\n serialize() {\n const serializationObject = super.serialize();\n serializationObject.lensSize = this.lensSize;\n serializationObject.fStop = this.fStop;\n serializationObject.focusDistance = this.focusDistance;\n serializationObject.focalLength = this.focalLength;\n serializationObject.sourceSamplingMode = this.sourceSamplingMode;\n serializationObject.depthSamplingMode = this.depthSamplingMode;\n return serializationObject;\n }\n _deserialize(serializationObject) {\n super._deserialize(serializationObject);\n this.lensSize = serializationObject.lensSize;\n this.fStop = serializationObject.fStop;\n this.focusDistance = serializationObject.focusDistance;\n this.focalLength = serializationObject.focalLength;\n this.sourceSamplingMode = serializationObject.sourceSamplingMode;\n this.depthSamplingMode = serializationObject.depthSamplingMode;\n }\n}\n__decorate([\n editableInPropertyPage(\"Blur level\", 4 /* PropertyTypeForEdition.List */, \"PROPERTIES\", {\n options: [\n { label: \"Low\", value: 0 /* ThinDepthOfFieldEffectBlurLevel.Low */ },\n { label: \"Medium\", value: 1 /* ThinDepthOfFieldEffectBlurLevel.Medium */ },\n { label: \"High\", value: 2 /* ThinDepthOfFieldEffectBlurLevel.High */ },\n ],\n })\n], NodeRenderGraphDepthOfFieldPostProcessBlock.prototype, \"blurLevel\", null);\n__decorate([\n editableInPropertyPage(\"HDR\", 0 /* PropertyTypeForEdition.Boolean */, \"PROPERTIES\")\n], NodeRenderGraphDepthOfFieldPostProcessBlock.prototype, \"hdr\", null);\n__decorate([\n editableInPropertyPage(\"Source sampling mode\", 6 /* PropertyTypeForEdition.SamplingMode */, \"PROPERTIES\")\n], NodeRenderGraphDepthOfFieldPostProcessBlock.prototype, \"sourceSamplingMode\", null);\n__decorate([\n editableInPropertyPage(\"Depth sampling mode\", 6 /* PropertyTypeForEdition.SamplingMode */, \"PROPERTIES\")\n], NodeRenderGraphDepthOfFieldPostProcessBlock.prototype, \"depthSamplingMode\", null);\n__decorate([\n editableInPropertyPage(\"Focal length\", 1 /* PropertyTypeForEdition.Float */, \"PROPERTIES\")\n], NodeRenderGraphDepthOfFieldPostProcessBlock.prototype, \"focalLength\", null);\n__decorate([\n editableInPropertyPage(\"F-Stop\", 1 /* PropertyTypeForEdition.Float */, \"PROPERTIES\")\n], NodeRenderGraphDepthOfFieldPostProcessBlock.prototype, \"fStop\", null);\n__decorate([\n editableInPropertyPage(\"Focus distance\", 1 /* PropertyTypeForEdition.Float */, \"PROPERTIES\")\n], NodeRenderGraphDepthOfFieldPostProcessBlock.prototype, \"focusDistance\", null);\n__decorate([\n editableInPropertyPage(\"Lens size\", 1 /* PropertyTypeForEdition.Float */, \"PROPERTIES\")\n], NodeRenderGraphDepthOfFieldPostProcessBlock.prototype, \"lensSize\", null);\nRegisterClass(\"BABYLON.NodeRenderGraphDepthOfFieldPostProcessBlock\", NodeRenderGraphDepthOfFieldPostProcessBlock);\n"],"mappings":"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","ignoreList":[]},"metadata":{},"sourceType":"module","externalDependencies":[]}