1f9169890ff9785a5ba80ef5d5a4b1e64c2fb1db240c6ca07ca35473e8aef85f.json 24 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 { FrameGraphCircleOfConfusionTask } from \"../../../Tasks/PostProcesses/circleOfConfusionTask.js\";\nimport { ThinCircleOfConfusionPostProcess } from \"../../../../PostProcesses/thinCircleOfConfusionPostProcess.js\";\n/**\n * Block that implements the circle of confusion post process\n */\nexport class NodeRenderGraphCircleOfConfusionPostProcessBlock 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 NodeRenderGraphCircleOfConfusionPostProcessBlock\n * @param name defines the block name\n * @param frameGraph defines the hosting frame graph\n * @param scene defines the hosting scene\n */\n constructor(name, frameGraph, scene) {\n super(name, frameGraph, scene);\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 FrameGraphCircleOfConfusionTask(this.name, frameGraph, new ThinCircleOfConfusionPostProcess(name, scene.getEngine(), {\n depthNotNormalized: true\n }));\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 /** 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.postProcess.lensSize;\n }\n set lensSize(value) {\n this._frameGraphTask.postProcess.lensSize = 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.postProcess.fStop;\n }\n set fStop(value) {\n this._frameGraphTask.postProcess.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.postProcess.focusDistance;\n }\n set focusDistance(value) {\n this._frameGraphTask.postProcess.focusDistance = value;\n }\n /** Focal length of the effect's camera in scene units/1000 (eg. millimeter) */\n get focalLength() {\n return this._frameGraphTask.postProcess.focalLength;\n }\n set focalLength(value) {\n this._frameGraphTask.postProcess.focalLength = value;\n }\n /**\n * Gets the current class name\n * @returns the class name\n */\n getClassName() {\n return \"NodeRenderGraphCircleOfConfusionPostProcessBlock\";\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(\"Source sampling mode\", 6 /* PropertyTypeForEdition.SamplingMode */, \"PROPERTIES\")], NodeRenderGraphCircleOfConfusionPostProcessBlock.prototype, \"sourceSamplingMode\", null);\n__decorate([editableInPropertyPage(\"Depth sampling mode\", 6 /* PropertyTypeForEdition.SamplingMode */, \"PROPERTIES\")], NodeRenderGraphCircleOfConfusionPostProcessBlock.prototype, \"depthSamplingMode\", null);\n__decorate([editableInPropertyPage(\"Lens size\", 1 /* PropertyTypeForEdition.Float */, \"PROPERTIES\")], NodeRenderGraphCircleOfConfusionPostProcessBlock.prototype, \"lensSize\", null);\n__decorate([editableInPropertyPage(\"F-Stop\", 1 /* PropertyTypeForEdition.Float */, \"PROPERTIES\")], NodeRenderGraphCircleOfConfusionPostProcessBlock.prototype, \"fStop\", null);\n__decorate([editableInPropertyPage(\"Focus distance\", 1 /* PropertyTypeForEdition.Float */, \"PROPERTIES\")], NodeRenderGraphCircleOfConfusionPostProcessBlock.prototype, \"focusDistance\", null);\n__decorate([editableInPropertyPage(\"Focal length\", 1 /* PropertyTypeForEdition.Float */, \"PROPERTIES\")], NodeRenderGraphCircleOfConfusionPostProcessBlock.prototype, \"focalLength\", null);\nRegisterClass(\"BABYLON.NodeRenderGraphCircleOfConfusionPostProcessBlock\", NodeRenderGraphCircleOfConfusionPostProcessBlock);","map":{"version":3,"names":["__decorate","NodeRenderGraphBlock","RegisterClass","NodeRenderGraphBlockConnectionPointTypes","editableInPropertyPage","FrameGraphCircleOfConfusionTask","ThinCircleOfConfusionPostProcess","NodeRenderGraphCircleOfConfusionPostProcessBlock","task","_frameGraphTask","constructor","name","frameGraph","scene","registerInput","Texture","TextureViewDepth","Camera","registerOutput","BasedOnInput","source","addAcceptedConnectionPointTypes","TextureAllButBackBuffer","destination","TextureAll","output","_typeConnectionSource","isConnected","getEngine","depthNotNormalized","sourceSamplingMode","value","depthSamplingMode","lensSize","postProcess","fStop","focusDistance","focalLength","getClassName","_inputs","geomViewDepth","camera","_outputs","_buildBlock","state","outputTexture","sourceConnectedPoint","connectedPoint","sourceTexture","geomViewDepthConnectedPoint","depthTexture","destinationConnectedPoint","destinationTexture","cameraConnectedPoint","_dumpPropertiesCode","codes","push","_codeVariableName","join","serialize","serializationObject","_deserialize","prototype"],"sources":["F:/workspace/202226701027/huinongbao-app/node_modules/@babylonjs/core/FrameGraph/Node/Blocks/PostProcesses/circleOfConfusionPostProcessBlock.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 { FrameGraphCircleOfConfusionTask } from \"../../../Tasks/PostProcesses/circleOfConfusionTask.js\";\nimport { ThinCircleOfConfusionPostProcess } from \"../../../../PostProcesses/thinCircleOfConfusionPostProcess.js\";\n/**\n * Block that implements the circle of confusion post process\n */\nexport class NodeRenderGraphCircleOfConfusionPostProcessBlock 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 NodeRenderGraphCircleOfConfusionPostProcessBlock\n * @param name defines the block name\n * @param frameGraph defines the hosting frame graph\n * @param scene defines the hosting scene\n */\n constructor(name, frameGraph, scene) {\n super(name, frameGraph, scene);\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 FrameGraphCircleOfConfusionTask(this.name, frameGraph, new ThinCircleOfConfusionPostProcess(name, scene.getEngine(), { depthNotNormalized: true }));\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 /** 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.postProcess.lensSize;\n }\n set lensSize(value) {\n this._frameGraphTask.postProcess.lensSize = 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.postProcess.fStop;\n }\n set fStop(value) {\n this._frameGraphTask.postProcess.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.postProcess.focusDistance;\n }\n set focusDistance(value) {\n this._frameGraphTask.postProcess.focusDistance = value;\n }\n /** Focal length of the effect's camera in scene units/1000 (eg. millimeter) */\n get focalLength() {\n return this._frameGraphTask.postProcess.focalLength;\n }\n set focalLength(value) {\n this._frameGraphTask.postProcess.focalLength = value;\n }\n /**\n * Gets the current class name\n * @returns the class name\n */\n getClassName() {\n return \"NodeRenderGraphCircleOfConfusionPostProcessBlock\";\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(\"Source sampling mode\", 6 /* PropertyTypeForEdition.SamplingMode */, \"PROPERTIES\")\n], NodeRenderGraphCircleOfConfusionPostProcessBlock.prototype, \"sourceSamplingMode\", null);\n__decorate([\n editableInPropertyPage(\"Depth sampling mode\", 6 /* PropertyTypeForEdition.SamplingMode */, \"PROPERTIES\")\n], NodeRenderGraphCircleOfConfusionPostProcessBlock.prototype, \"depthSamplingMode\", null);\n__decorate([\n editableInPropertyPage(\"Lens size\", 1 /* PropertyTypeForEdition.Float */, \"PROPERTIES\")\n], NodeRenderGraphCircleOfConfusionPostProcessBlock.prototype, \"lensSize\", null);\n__decorate([\n editableInPropertyPage(\"F-Stop\", 1 /* PropertyTypeForEdition.Float */, \"PROPERTIES\")\n], NodeRenderGraphCircleOfConfusionPostProcessBlock.prototype, \"fStop\", null);\n__decorate([\n editableInPropertyPage(\"Focus distance\", 1 /* PropertyTypeForEdition.Float */, \"PROPERTIES\")\n], NodeRenderGraphCircleOfConfusionPostProcessBlock.prototype, \"focusDistance\", null);\n__decorate([\n editableInPropertyPage(\"Focal length\", 1 /* PropertyTypeForEdition.Float */, \"PROPERTIES\")\n], NodeRenderGraphCircleOfConfusionPostProcessBlock.prototype, \"focalLength\", null);\nRegisterClass(\"BABYLON.NodeRenderGraphCircleOfConfusionPostProcessBlock\", NodeRenderGraphCircleOfConfusionPostProcessBlock);\n"],"mappings":"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","ignoreList":[]},"metadata":{},"sourceType":"module","externalDependencies":[]}