1 |
- {"ast":null,"code":"import { __decorate } from \"../tslib.es6.js\";\nimport { PostProcess } from \"./postProcess.js\";\nimport { RegisterClass } from \"../Misc/typeStore.js\";\nimport { serialize } from \"../Misc/decorators.js\";\nimport { SerializationHelper } from \"../Misc/decorators.serialization.js\";\n/**\n * The ConvolutionPostProcess applies a 3x3 kernel to every pixel of the\n * input texture to perform effects such as edge detection or sharpening\n * See http://en.wikipedia.org/wiki/Kernel_(image_processing)\n */\nexport class ConvolutionPostProcess extends PostProcess {\n /**\n * Gets a string identifying the name of the class\n * @returns \"ConvolutionPostProcess\" string\n */\n getClassName() {\n return \"ConvolutionPostProcess\";\n }\n /**\n * Creates a new instance ConvolutionPostProcess\n * @param name The name of the effect.\n * @param kernel Array of 9 values corresponding to the 3x3 kernel to be applied\n * @param options The required width/height ratio to downsize to before computing the render pass.\n * @param camera The camera to apply the render pass to.\n * @param samplingMode The sampling mode to be used when computing the pass. (default: 0)\n * @param engine The engine which the post process will be applied. (default: current engine)\n * @param reusable If the post process can be reused on the same frame. (default: false)\n * @param textureType Type of textures used when performing the post process. (default: 0)\n */\n constructor(name, kernel, options, camera, samplingMode, engine, reusable, textureType = 0) {\n super(name, \"convolution\", [\"kernel\", \"screenSize\"], null, options, camera, samplingMode, engine, reusable, null, textureType);\n this.kernel = kernel;\n this.onApply = effect => {\n effect.setFloat2(\"screenSize\", this.width, this.height);\n effect.setArray(\"kernel\", this.kernel);\n };\n }\n _gatherImports(useWebGPU, list) {\n if (useWebGPU) {\n this._webGPUReady = true;\n list.push(Promise.all([import(\"../ShadersWGSL/convolution.fragment.js\")]));\n } else {\n list.push(Promise.all([import(\"../Shaders/convolution.fragment.js\")]));\n }\n super._gatherImports(useWebGPU, list);\n }\n /**\n * @internal\n */\n static _Parse(parsedPostProcess, targetCamera, scene, rootUrl) {\n return SerializationHelper.Parse(() => {\n return new ConvolutionPostProcess(parsedPostProcess.name, parsedPostProcess.kernel, parsedPostProcess.options, targetCamera, parsedPostProcess.renderTargetSamplingMode, scene.getEngine(), parsedPostProcess.reusable, parsedPostProcess.textureType);\n }, parsedPostProcess, scene, rootUrl);\n }\n}\n// Statics\n/**\n * Edge detection 0 see https://en.wikipedia.org/wiki/Kernel_(image_processing)\n */\nConvolutionPostProcess.EdgeDetect0Kernel = [1, 0, -1, 0, 0, 0, -1, 0, 1];\n/**\n * Edge detection 1 see https://en.wikipedia.org/wiki/Kernel_(image_processing)\n */\nConvolutionPostProcess.EdgeDetect1Kernel = [0, 1, 0, 1, -4, 1, 0, 1, 0];\n/**\n * Edge detection 2 see https://en.wikipedia.org/wiki/Kernel_(image_processing)\n */\nConvolutionPostProcess.EdgeDetect2Kernel = [-1, -1, -1, -1, 8, -1, -1, -1, -1];\n/**\n * Kernel to sharpen an image see https://en.wikipedia.org/wiki/Kernel_(image_processing)\n */\nConvolutionPostProcess.SharpenKernel = [0, -1, 0, -1, 5, -1, 0, -1, 0];\n/**\n * Kernel to emboss an image see https://en.wikipedia.org/wiki/Kernel_(image_processing)\n */\nConvolutionPostProcess.EmbossKernel = [-2, -1, 0, -1, 1, 1, 0, 1, 2];\n/**\n * Kernel to blur an image see https://en.wikipedia.org/wiki/Kernel_(image_processing)\n */\nConvolutionPostProcess.GaussianKernel = [0, 1, 0, 1, 1, 1, 0, 1, 0];\n__decorate([serialize()], ConvolutionPostProcess.prototype, \"kernel\", void 0);\nRegisterClass(\"BABYLON.ConvolutionPostProcess\", ConvolutionPostProcess);","map":{"version":3,"names":["__decorate","PostProcess","RegisterClass","serialize","SerializationHelper","ConvolutionPostProcess","getClassName","constructor","name","kernel","options","camera","samplingMode","engine","reusable","textureType","onApply","effect","setFloat2","width","height","setArray","_gatherImports","useWebGPU","list","_webGPUReady","push","Promise","all","_Parse","parsedPostProcess","targetCamera","scene","rootUrl","Parse","renderTargetSamplingMode","getEngine","EdgeDetect0Kernel","EdgeDetect1Kernel","EdgeDetect2Kernel","SharpenKernel","EmbossKernel","GaussianKernel","prototype"],"sources":["F:/workspace/202226701027/huinongbao-app/node_modules/@babylonjs/core/PostProcesses/convolutionPostProcess.js"],"sourcesContent":["import { __decorate } from \"../tslib.es6.js\";\nimport { PostProcess } from \"./postProcess.js\";\n\nimport { RegisterClass } from \"../Misc/typeStore.js\";\nimport { serialize } from \"../Misc/decorators.js\";\nimport { SerializationHelper } from \"../Misc/decorators.serialization.js\";\n/**\n * The ConvolutionPostProcess applies a 3x3 kernel to every pixel of the\n * input texture to perform effects such as edge detection or sharpening\n * See http://en.wikipedia.org/wiki/Kernel_(image_processing)\n */\nexport class ConvolutionPostProcess extends PostProcess {\n /**\n * Gets a string identifying the name of the class\n * @returns \"ConvolutionPostProcess\" string\n */\n getClassName() {\n return \"ConvolutionPostProcess\";\n }\n /**\n * Creates a new instance ConvolutionPostProcess\n * @param name The name of the effect.\n * @param kernel Array of 9 values corresponding to the 3x3 kernel to be applied\n * @param options The required width/height ratio to downsize to before computing the render pass.\n * @param camera The camera to apply the render pass to.\n * @param samplingMode The sampling mode to be used when computing the pass. (default: 0)\n * @param engine The engine which the post process will be applied. (default: current engine)\n * @param reusable If the post process can be reused on the same frame. (default: false)\n * @param textureType Type of textures used when performing the post process. (default: 0)\n */\n constructor(name, kernel, options, camera, samplingMode, engine, reusable, textureType = 0) {\n super(name, \"convolution\", [\"kernel\", \"screenSize\"], null, options, camera, samplingMode, engine, reusable, null, textureType);\n this.kernel = kernel;\n this.onApply = (effect) => {\n effect.setFloat2(\"screenSize\", this.width, this.height);\n effect.setArray(\"kernel\", this.kernel);\n };\n }\n _gatherImports(useWebGPU, list) {\n if (useWebGPU) {\n this._webGPUReady = true;\n list.push(Promise.all([import(\"../ShadersWGSL/convolution.fragment.js\")]));\n }\n else {\n list.push(Promise.all([import(\"../Shaders/convolution.fragment.js\")]));\n }\n super._gatherImports(useWebGPU, list);\n }\n /**\n * @internal\n */\n static _Parse(parsedPostProcess, targetCamera, scene, rootUrl) {\n return SerializationHelper.Parse(() => {\n return new ConvolutionPostProcess(parsedPostProcess.name, parsedPostProcess.kernel, parsedPostProcess.options, targetCamera, parsedPostProcess.renderTargetSamplingMode, scene.getEngine(), parsedPostProcess.reusable, parsedPostProcess.textureType);\n }, parsedPostProcess, scene, rootUrl);\n }\n}\n// Statics\n/**\n * Edge detection 0 see https://en.wikipedia.org/wiki/Kernel_(image_processing)\n */\nConvolutionPostProcess.EdgeDetect0Kernel = [1, 0, -1, 0, 0, 0, -1, 0, 1];\n/**\n * Edge detection 1 see https://en.wikipedia.org/wiki/Kernel_(image_processing)\n */\nConvolutionPostProcess.EdgeDetect1Kernel = [0, 1, 0, 1, -4, 1, 0, 1, 0];\n/**\n * Edge detection 2 see https://en.wikipedia.org/wiki/Kernel_(image_processing)\n */\nConvolutionPostProcess.EdgeDetect2Kernel = [-1, -1, -1, -1, 8, -1, -1, -1, -1];\n/**\n * Kernel to sharpen an image see https://en.wikipedia.org/wiki/Kernel_(image_processing)\n */\nConvolutionPostProcess.SharpenKernel = [0, -1, 0, -1, 5, -1, 0, -1, 0];\n/**\n * Kernel to emboss an image see https://en.wikipedia.org/wiki/Kernel_(image_processing)\n */\nConvolutionPostProcess.EmbossKernel = [-2, -1, 0, -1, 1, 1, 0, 1, 2];\n/**\n * Kernel to blur an image see https://en.wikipedia.org/wiki/Kernel_(image_processing)\n */\nConvolutionPostProcess.GaussianKernel = [0, 1, 0, 1, 1, 1, 0, 1, 0];\n__decorate([\n serialize()\n], ConvolutionPostProcess.prototype, \"kernel\", void 0);\nRegisterClass(\"BABYLON.ConvolutionPostProcess\", ConvolutionPostProcess);\n"],"mappings":"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","ignoreList":[]},"metadata":{},"sourceType":"module","externalDependencies":[]}
|