d74390071c045907ca3bcef09eb5f29a386739bf00774eb57e781fd7ccf0beba.json 29 KB

1
  1. {"ast":null,"code":"import { __decorate } from \"../../../tslib.es6.js\";\nimport { Observable } from \"../../../Misc/observable.js\";\nimport { NodeRenderGraphBlockConnectionPointTypes } from \"../Types/nodeRenderGraphTypes.js\";\nimport { NodeRenderGraphBlock } from \"../nodeRenderGraphBlock.js\";\nimport { RegisterClass } from \"../../../Misc/typeStore.js\";\nimport { editableInPropertyPage } from \"../../../Decorators/nodeDecorator.js\";\nimport { backbufferColorTextureHandle, backbufferDepthStencilTextureHandle } from \"../../../FrameGraph/frameGraphTypes.js\";\n\n/**\n * Block used to expose an input value\n */\nexport class NodeRenderGraphInputBlock extends NodeRenderGraphBlock {\n /**\n * Gets or sets the connection point type (default is Undefined)\n */\n get type() {\n return this._type;\n }\n /**\n * Creates a new NodeRenderGraphInputBlock\n * @param name defines the block name\n * @param frameGraph defines the hosting frame graph\n * @param scene defines the hosting scene\n * @param type defines the type of the input (can be set to NodeRenderGraphBlockConnectionPointTypes.Undefined)\n */\n constructor(name, frameGraph, scene, type = NodeRenderGraphBlockConnectionPointTypes.Undefined) {\n super(name, frameGraph, scene);\n this._storedValue = null;\n this._type = NodeRenderGraphBlockConnectionPointTypes.Undefined;\n /** Gets an observable raised when the value is changed */\n this.onValueChangedObservable = new Observable();\n /** Indicates that the input is externally managed */\n this.isExternal = false;\n this._type = type;\n this._isInput = true;\n this.registerOutput(\"output\", type);\n this.setDefaultValue();\n }\n /**\n * Set the input block to its default value (based on its type)\n */\n setDefaultValue() {\n switch (this.type) {\n case NodeRenderGraphBlockConnectionPointTypes.Texture:\n case NodeRenderGraphBlockConnectionPointTypes.TextureViewDepth:\n case NodeRenderGraphBlockConnectionPointTypes.TextureScreenDepth:\n case NodeRenderGraphBlockConnectionPointTypes.TextureViewNormal:\n case NodeRenderGraphBlockConnectionPointTypes.TextureWorldNormal:\n case NodeRenderGraphBlockConnectionPointTypes.TextureAlbedo:\n case NodeRenderGraphBlockConnectionPointTypes.TextureReflectivity:\n case NodeRenderGraphBlockConnectionPointTypes.TextureLocalPosition:\n case NodeRenderGraphBlockConnectionPointTypes.TextureWorldPosition:\n case NodeRenderGraphBlockConnectionPointTypes.TextureVelocity:\n case NodeRenderGraphBlockConnectionPointTypes.TextureLinearVelocity:\n case NodeRenderGraphBlockConnectionPointTypes.TextureIrradiance:\n case NodeRenderGraphBlockConnectionPointTypes.TextureAlbedoSqrt:\n {\n const options = {\n size: {\n width: 100,\n height: 100\n },\n options: {\n createMipMaps: false,\n types: [0],\n formats: [5],\n samples: 1,\n useSRGBBuffers: [false]\n },\n sizeIsPercentage: true\n };\n this.creationOptions = options;\n break;\n }\n case NodeRenderGraphBlockConnectionPointTypes.TextureDepthStencilAttachment:\n {\n const options = {\n size: {\n width: 100,\n height: 100\n },\n options: {\n createMipMaps: false,\n types: [0],\n formats: [13],\n useSRGBBuffers: [false],\n labels: [this.name],\n samples: 1\n },\n sizeIsPercentage: true\n };\n this.creationOptions = options;\n break;\n }\n case NodeRenderGraphBlockConnectionPointTypes.ObjectList:\n this.value = {\n meshes: [],\n particleSystems: []\n };\n this.isExternal = true;\n break;\n case NodeRenderGraphBlockConnectionPointTypes.Camera:\n this.value = this._scene.cameras[0];\n this.isExternal = true;\n break;\n default:\n this.isExternal = true;\n }\n }\n /**\n * Gets or sets the value of that point.\n */\n get value() {\n return this._storedValue;\n }\n set value(value) {\n this._storedValue = value;\n this.output.value = undefined;\n this.onValueChangedObservable.notifyObservers(this);\n }\n /**\n * Gets the value as a specific type\n * @returns the value as a specific type\n */\n getTypedValue() {\n return this._storedValue;\n }\n /**\n * Gets the value as an internal texture\n * @returns The internal texture stored in value if value is an internal texture, otherwise null\n */\n getInternalTextureFromValue() {\n if (this._storedValue._swapAndDie) {\n return this._storedValue;\n }\n return null;\n }\n /**\n * Gets the current class name\n * @returns the class name\n */\n getClassName() {\n return \"NodeRenderGraphInputBlock\";\n }\n /**\n * Gets the output component\n */\n get output() {\n return this._outputs[0];\n }\n /**\n * Check if the block is a texture of any type\n * @returns true if the block is a texture\n */\n isAnyTexture() {\n return (this.type & NodeRenderGraphBlockConnectionPointTypes.TextureAll) !== 0;\n }\n /**\n * Gets a boolean indicating that the connection point is the back buffer texture\n * @returns true if the connection point is the back buffer texture\n */\n isBackBuffer() {\n return (this.type & NodeRenderGraphBlockConnectionPointTypes.TextureBackBuffer) !== 0;\n }\n /**\n * Gets a boolean indicating that the connection point is a depth/stencil attachment texture\n * @returns true if the connection point is a depth/stencil attachment texture\n */\n isBackBufferDepthStencilAttachment() {\n return (this.type & NodeRenderGraphBlockConnectionPointTypes.TextureBackBufferDepthStencilAttachment) !== 0;\n }\n /**\n * Check if the block is a camera\n * @returns true if the block is a camera\n */\n isCamera() {\n return (this.type & NodeRenderGraphBlockConnectionPointTypes.Camera) !== 0;\n }\n /**\n * Check if the block is an object list\n * @returns true if the block is an object list\n */\n isObjectList() {\n return (this.type & NodeRenderGraphBlockConnectionPointTypes.ObjectList) !== 0;\n }\n _buildBlock(state) {\n super._buildBlock(state);\n if (this.isExternal) {\n if (this.isBackBuffer()) {\n this.output.value = backbufferColorTextureHandle;\n } else if (this.isBackBufferDepthStencilAttachment()) {\n this.output.value = backbufferDepthStencilTextureHandle;\n } else if (this.isCamera()) {\n this.output.value = this.getTypedValue();\n } else if (this.isObjectList()) {\n this.output.value = this.getTypedValue();\n } else {\n if (this._storedValue === undefined || this._storedValue === null) {\n throw new Error(`NodeRenderGraphInputBlock: External input \"${this.name}\" is not set`);\n }\n const texture = this.getInternalTextureFromValue();\n if (texture) {\n this.output.value = this._frameGraph.textureManager.importTexture(this.name, texture, this.output.value);\n }\n }\n return;\n }\n if ((this.type & NodeRenderGraphBlockConnectionPointTypes.TextureAllButBackBuffer) !== 0) {\n const textureCreateOptions = this.creationOptions;\n if (!textureCreateOptions) {\n throw new Error(`NodeRenderGraphInputBlock: Creation options are missing for texture \"${this.name}\"`);\n }\n this.output.value = this._frameGraph.textureManager.createRenderTargetTexture(this.name, textureCreateOptions);\n }\n }\n dispose() {\n this._storedValue = null;\n this.onValueChangedObservable.clear();\n super.dispose();\n }\n _dumpPropertiesCode() {\n const codes = [];\n codes.push(`${this._codeVariableName}.isExternal = ${this.isExternal};`);\n if (this.isAnyTexture()) {\n if (!this.isExternal) {\n codes.push(`${this._codeVariableName}.creationOptions = ${JSON.stringify(this.creationOptions)};`);\n } else {\n codes.push(`${this._codeVariableName}.value = EXTERNAL_TEXTURE; // TODO: set the external texture`);\n }\n } else if (this.isCamera()) {\n codes.push(`${this._codeVariableName}.value = EXTERNAL_CAMERA; // TODO: set the external camera`);\n } else if (this.isObjectList()) {\n codes.push(`${this._codeVariableName}.value = EXTERNAL_OBJECT_LIST; // TODO: set the external object list`);\n }\n return super._dumpPropertiesCode() + codes.join(\"\\n\");\n }\n serialize() {\n const serializationObject = super.serialize();\n serializationObject.type = this.type;\n serializationObject.isExternal = this.isExternal;\n if (this.creationOptions) {\n serializationObject.creationOptions = this.creationOptions;\n }\n return serializationObject;\n }\n _deserialize(serializationObject) {\n super._deserialize(serializationObject);\n this._type = serializationObject.type;\n this.output.type = this._type;\n this.isExternal = serializationObject.isExternal;\n if (serializationObject.creationOptions) {\n if (serializationObject.creationOptions.options.depthTextureFormat !== undefined) {\n // Backward compatibility - remove this code in the future\n serializationObject.creationOptions.options.formats = [serializationObject.creationOptions.options.depthTextureFormat];\n }\n this.creationOptions = serializationObject.creationOptions;\n }\n }\n}\n__decorate([editableInPropertyPage(\"Is external\", 0 /* PropertyTypeForEdition.Boolean */, \"PROPERTIES\")], NodeRenderGraphInputBlock.prototype, \"isExternal\", void 0);\nRegisterClass(\"BABYLON.NodeRenderGraphInputBlock\", NodeRenderGraphInputBlock);","map":{"version":3,"names":["__decorate","Observable","NodeRenderGraphBlockConnectionPointTypes","NodeRenderGraphBlock","RegisterClass","editableInPropertyPage","backbufferColorTextureHandle","backbufferDepthStencilTextureHandle","NodeRenderGraphInputBlock","type","_type","constructor","name","frameGraph","scene","Undefined","_storedValue","onValueChangedObservable","isExternal","_isInput","registerOutput","setDefaultValue","Texture","TextureViewDepth","TextureScreenDepth","TextureViewNormal","TextureWorldNormal","TextureAlbedo","TextureReflectivity","TextureLocalPosition","TextureWorldPosition","TextureVelocity","TextureLinearVelocity","TextureIrradiance","TextureAlbedoSqrt","options","size","width","height","createMipMaps","types","formats","samples","useSRGBBuffers","sizeIsPercentage","creationOptions","TextureDepthStencilAttachment","labels","ObjectList","value","meshes","particleSystems","Camera","_scene","cameras","output","undefined","notifyObservers","getTypedValue","getInternalTextureFromValue","_swapAndDie","getClassName","_outputs","isAnyTexture","TextureAll","isBackBuffer","TextureBackBuffer","isBackBufferDepthStencilAttachment","TextureBackBufferDepthStencilAttachment","isCamera","isObjectList","_buildBlock","state","Error","texture","_frameGraph","textureManager","importTexture","TextureAllButBackBuffer","textureCreateOptions","createRenderTargetTexture","dispose","clear","_dumpPropertiesCode","codes","push","_codeVariableName","JSON","stringify","join","serialize","serializationObject","_deserialize","depthTextureFormat","prototype"],"sources":["F:/workspace/202226701027/huinongbao-app/node_modules/@babylonjs/core/FrameGraph/Node/Blocks/inputBlock.js"],"sourcesContent":["import { __decorate } from \"../../../tslib.es6.js\";\nimport { Observable } from \"../../../Misc/observable.js\";\nimport { NodeRenderGraphBlockConnectionPointTypes } from \"../Types/nodeRenderGraphTypes.js\";\nimport { NodeRenderGraphBlock } from \"../nodeRenderGraphBlock.js\";\nimport { RegisterClass } from \"../../../Misc/typeStore.js\";\nimport { editableInPropertyPage } from \"../../../Decorators/nodeDecorator.js\";\nimport { backbufferColorTextureHandle, backbufferDepthStencilTextureHandle } from \"../../../FrameGraph/frameGraphTypes.js\";\n\n/**\n * Block used to expose an input value\n */\nexport class NodeRenderGraphInputBlock extends NodeRenderGraphBlock {\n /**\n * Gets or sets the connection point type (default is Undefined)\n */\n get type() {\n return this._type;\n }\n /**\n * Creates a new NodeRenderGraphInputBlock\n * @param name defines the block name\n * @param frameGraph defines the hosting frame graph\n * @param scene defines the hosting scene\n * @param type defines the type of the input (can be set to NodeRenderGraphBlockConnectionPointTypes.Undefined)\n */\n constructor(name, frameGraph, scene, type = NodeRenderGraphBlockConnectionPointTypes.Undefined) {\n super(name, frameGraph, scene);\n this._storedValue = null;\n this._type = NodeRenderGraphBlockConnectionPointTypes.Undefined;\n /** Gets an observable raised when the value is changed */\n this.onValueChangedObservable = new Observable();\n /** Indicates that the input is externally managed */\n this.isExternal = false;\n this._type = type;\n this._isInput = true;\n this.registerOutput(\"output\", type);\n this.setDefaultValue();\n }\n /**\n * Set the input block to its default value (based on its type)\n */\n setDefaultValue() {\n switch (this.type) {\n case NodeRenderGraphBlockConnectionPointTypes.Texture:\n case NodeRenderGraphBlockConnectionPointTypes.TextureViewDepth:\n case NodeRenderGraphBlockConnectionPointTypes.TextureScreenDepth:\n case NodeRenderGraphBlockConnectionPointTypes.TextureViewNormal:\n case NodeRenderGraphBlockConnectionPointTypes.TextureWorldNormal:\n case NodeRenderGraphBlockConnectionPointTypes.TextureAlbedo:\n case NodeRenderGraphBlockConnectionPointTypes.TextureReflectivity:\n case NodeRenderGraphBlockConnectionPointTypes.TextureLocalPosition:\n case NodeRenderGraphBlockConnectionPointTypes.TextureWorldPosition:\n case NodeRenderGraphBlockConnectionPointTypes.TextureVelocity:\n case NodeRenderGraphBlockConnectionPointTypes.TextureLinearVelocity:\n case NodeRenderGraphBlockConnectionPointTypes.TextureIrradiance:\n case NodeRenderGraphBlockConnectionPointTypes.TextureAlbedoSqrt: {\n const options = {\n size: { width: 100, height: 100 },\n options: {\n createMipMaps: false,\n types: [0],\n formats: [5],\n samples: 1,\n useSRGBBuffers: [false],\n },\n sizeIsPercentage: true,\n };\n this.creationOptions = options;\n break;\n }\n case NodeRenderGraphBlockConnectionPointTypes.TextureDepthStencilAttachment: {\n const options = {\n size: { width: 100, height: 100 },\n options: {\n createMipMaps: false,\n types: [0],\n formats: [13],\n useSRGBBuffers: [false],\n labels: [this.name],\n samples: 1,\n },\n sizeIsPercentage: true,\n };\n this.creationOptions = options;\n break;\n }\n case NodeRenderGraphBlockConnectionPointTypes.ObjectList:\n this.value = { meshes: [], particleSystems: [] };\n this.isExternal = true;\n break;\n case NodeRenderGraphBlockConnectionPointTypes.Camera:\n this.value = this._scene.cameras[0];\n this.isExternal = true;\n break;\n default:\n this.isExternal = true;\n }\n }\n /**\n * Gets or sets the value of that point.\n */\n get value() {\n return this._storedValue;\n }\n set value(value) {\n this._storedValue = value;\n this.output.value = undefined;\n this.onValueChangedObservable.notifyObservers(this);\n }\n /**\n * Gets the value as a specific type\n * @returns the value as a specific type\n */\n getTypedValue() {\n return this._storedValue;\n }\n /**\n * Gets the value as an internal texture\n * @returns The internal texture stored in value if value is an internal texture, otherwise null\n */\n getInternalTextureFromValue() {\n if (this._storedValue._swapAndDie) {\n return this._storedValue;\n }\n return null;\n }\n /**\n * Gets the current class name\n * @returns the class name\n */\n getClassName() {\n return \"NodeRenderGraphInputBlock\";\n }\n /**\n * Gets the output component\n */\n get output() {\n return this._outputs[0];\n }\n /**\n * Check if the block is a texture of any type\n * @returns true if the block is a texture\n */\n isAnyTexture() {\n return (this.type & NodeRenderGraphBlockConnectionPointTypes.TextureAll) !== 0;\n }\n /**\n * Gets a boolean indicating that the connection point is the back buffer texture\n * @returns true if the connection point is the back buffer texture\n */\n isBackBuffer() {\n return (this.type & NodeRenderGraphBlockConnectionPointTypes.TextureBackBuffer) !== 0;\n }\n /**\n * Gets a boolean indicating that the connection point is a depth/stencil attachment texture\n * @returns true if the connection point is a depth/stencil attachment texture\n */\n isBackBufferDepthStencilAttachment() {\n return (this.type & NodeRenderGraphBlockConnectionPointTypes.TextureBackBufferDepthStencilAttachment) !== 0;\n }\n /**\n * Check if the block is a camera\n * @returns true if the block is a camera\n */\n isCamera() {\n return (this.type & NodeRenderGraphBlockConnectionPointTypes.Camera) !== 0;\n }\n /**\n * Check if the block is an object list\n * @returns true if the block is an object list\n */\n isObjectList() {\n return (this.type & NodeRenderGraphBlockConnectionPointTypes.ObjectList) !== 0;\n }\n _buildBlock(state) {\n super._buildBlock(state);\n if (this.isExternal) {\n if (this.isBackBuffer()) {\n this.output.value = backbufferColorTextureHandle;\n }\n else if (this.isBackBufferDepthStencilAttachment()) {\n this.output.value = backbufferDepthStencilTextureHandle;\n }\n else if (this.isCamera()) {\n this.output.value = this.getTypedValue();\n }\n else if (this.isObjectList()) {\n this.output.value = this.getTypedValue();\n }\n else {\n if (this._storedValue === undefined || this._storedValue === null) {\n throw new Error(`NodeRenderGraphInputBlock: External input \"${this.name}\" is not set`);\n }\n const texture = this.getInternalTextureFromValue();\n if (texture) {\n this.output.value = this._frameGraph.textureManager.importTexture(this.name, texture, this.output.value);\n }\n }\n return;\n }\n if ((this.type & NodeRenderGraphBlockConnectionPointTypes.TextureAllButBackBuffer) !== 0) {\n const textureCreateOptions = this.creationOptions;\n if (!textureCreateOptions) {\n throw new Error(`NodeRenderGraphInputBlock: Creation options are missing for texture \"${this.name}\"`);\n }\n this.output.value = this._frameGraph.textureManager.createRenderTargetTexture(this.name, textureCreateOptions);\n }\n }\n dispose() {\n this._storedValue = null;\n this.onValueChangedObservable.clear();\n super.dispose();\n }\n _dumpPropertiesCode() {\n const codes = [];\n codes.push(`${this._codeVariableName}.isExternal = ${this.isExternal};`);\n if (this.isAnyTexture()) {\n if (!this.isExternal) {\n codes.push(`${this._codeVariableName}.creationOptions = ${JSON.stringify(this.creationOptions)};`);\n }\n else {\n codes.push(`${this._codeVariableName}.value = EXTERNAL_TEXTURE; // TODO: set the external texture`);\n }\n }\n else if (this.isCamera()) {\n codes.push(`${this._codeVariableName}.value = EXTERNAL_CAMERA; // TODO: set the external camera`);\n }\n else if (this.isObjectList()) {\n codes.push(`${this._codeVariableName}.value = EXTERNAL_OBJECT_LIST; // TODO: set the external object list`);\n }\n return super._dumpPropertiesCode() + codes.join(\"\\n\");\n }\n serialize() {\n const serializationObject = super.serialize();\n serializationObject.type = this.type;\n serializationObject.isExternal = this.isExternal;\n if (this.creationOptions) {\n serializationObject.creationOptions = this.creationOptions;\n }\n return serializationObject;\n }\n _deserialize(serializationObject) {\n super._deserialize(serializationObject);\n this._type = serializationObject.type;\n this.output.type = this._type;\n this.isExternal = serializationObject.isExternal;\n if (serializationObject.creationOptions) {\n if (serializationObject.creationOptions.options.depthTextureFormat !== undefined) {\n // Backward compatibility - remove this code in the future\n serializationObject.creationOptions.options.formats = [serializationObject.creationOptions.options.depthTextureFormat];\n }\n this.creationOptions = serializationObject.creationOptions;\n }\n }\n}\n__decorate([\n editableInPropertyPage(\"Is external\", 0 /* PropertyTypeForEdition.Boolean */, \"PROPERTIES\")\n], NodeRenderGraphInputBlock.prototype, \"isExternal\", void 0);\nRegisterClass(\"BABYLON.NodeRenderGraphInputBlock\", NodeRenderGraphInputBlock);\n"],"mappings":"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","ignoreList":[]},"metadata":{},"sourceType":"module","externalDependencies":[]}