1 |
- {"ast":null,"code":"import { ThinDepthOfFieldMergePostProcess } from \"../../../PostProcesses/thinDepthOfFieldMergePostProcess.js\";\nimport { FrameGraphPostProcessTask } from \"./postProcessTask.js\";\n\n/**\n * @internal\n */\nexport class FrameGraphDepthOfFieldMergeTask extends FrameGraphPostProcessTask {\n constructor(name, frameGraph, thinPostProcess) {\n super(name, frameGraph, thinPostProcess || new ThinDepthOfFieldMergePostProcess(name, frameGraph.engine));\n this.blurSteps = [];\n }\n record(skipCreationOfDisabledPasses = false) {\n if (this.sourceTexture === undefined || this.circleOfConfusionTexture === undefined || this.blurSteps.length === 0) {\n throw new Error(`FrameGraphBloomMergeTask \"${this.name}\": sourceTexture, circleOfConfusionTexture and blurSteps are required`);\n }\n this.postProcess.updateEffect(\"#define BLUR_LEVEL \" + (this.blurSteps.length - 1) + \"\\n\");\n const pass = super.record(skipCreationOfDisabledPasses, undefined, context => {\n context.bindTextureHandle(this._postProcessDrawWrapper.effect, \"circleOfConfusionSampler\", this.circleOfConfusionTexture);\n this.blurSteps.forEach((handle, index) => {\n if (index === this.blurSteps.length - 1) {\n context.setTextureSamplingMode(handle, 2);\n }\n context.bindTextureHandle(this._postProcessDrawWrapper.effect, \"blurStep\" + (this.blurSteps.length - index - 1), handle);\n });\n });\n pass.useTexture(this.circleOfConfusionTexture);\n for (const handle of this.blurSteps) {\n pass.useTexture(handle);\n }\n return pass;\n }\n}","map":{"version":3,"names":["ThinDepthOfFieldMergePostProcess","FrameGraphPostProcessTask","FrameGraphDepthOfFieldMergeTask","constructor","name","frameGraph","thinPostProcess","engine","blurSteps","record","skipCreationOfDisabledPasses","sourceTexture","undefined","circleOfConfusionTexture","length","Error","postProcess","updateEffect","pass","context","bindTextureHandle","_postProcessDrawWrapper","effect","forEach","handle","index","setTextureSamplingMode","useTexture"],"sources":["F:/workspace/202226701027/huinongbao-app/node_modules/@babylonjs/core/FrameGraph/Tasks/PostProcesses/depthOfFieldMergeTask.js"],"sourcesContent":["import { ThinDepthOfFieldMergePostProcess } from \"../../../PostProcesses/thinDepthOfFieldMergePostProcess.js\";\nimport { FrameGraphPostProcessTask } from \"./postProcessTask.js\";\n\n/**\n * @internal\n */\nexport class FrameGraphDepthOfFieldMergeTask extends FrameGraphPostProcessTask {\n constructor(name, frameGraph, thinPostProcess) {\n super(name, frameGraph, thinPostProcess || new ThinDepthOfFieldMergePostProcess(name, frameGraph.engine));\n this.blurSteps = [];\n }\n record(skipCreationOfDisabledPasses = false) {\n if (this.sourceTexture === undefined || this.circleOfConfusionTexture === undefined || this.blurSteps.length === 0) {\n throw new Error(`FrameGraphBloomMergeTask \"${this.name}\": sourceTexture, circleOfConfusionTexture and blurSteps are required`);\n }\n this.postProcess.updateEffect(\"#define BLUR_LEVEL \" + (this.blurSteps.length - 1) + \"\\n\");\n const pass = super.record(skipCreationOfDisabledPasses, undefined, (context) => {\n context.bindTextureHandle(this._postProcessDrawWrapper.effect, \"circleOfConfusionSampler\", this.circleOfConfusionTexture);\n this.blurSteps.forEach((handle, index) => {\n if (index === this.blurSteps.length - 1) {\n context.setTextureSamplingMode(handle, 2);\n }\n context.bindTextureHandle(this._postProcessDrawWrapper.effect, \"blurStep\" + (this.blurSteps.length - index - 1), handle);\n });\n });\n pass.useTexture(this.circleOfConfusionTexture);\n for (const handle of this.blurSteps) {\n pass.useTexture(handle);\n }\n return pass;\n }\n}\n"],"mappings":"AAAA,SAASA,gCAAgC,QAAQ,4DAA4D;AAC7G,SAASC,yBAAyB,QAAQ,sBAAsB;;AAEhE;AACA;AACA;AACA,OAAO,MAAMC,+BAA+B,SAASD,yBAAyB,CAAC;EAC3EE,WAAWA,CAACC,IAAI,EAAEC,UAAU,EAAEC,eAAe,EAAE;IAC3C,KAAK,CAACF,IAAI,EAAEC,UAAU,EAAEC,eAAe,IAAI,IAAIN,gCAAgC,CAACI,IAAI,EAAEC,UAAU,CAACE,MAAM,CAAC,CAAC;IACzG,IAAI,CAACC,SAAS,GAAG,EAAE;EACvB;EACAC,MAAMA,CAACC,4BAA4B,GAAG,KAAK,EAAE;IACzC,IAAI,IAAI,CAACC,aAAa,KAAKC,SAAS,IAAI,IAAI,CAACC,wBAAwB,KAAKD,SAAS,IAAI,IAAI,CAACJ,SAAS,CAACM,MAAM,KAAK,CAAC,EAAE;MAChH,MAAM,IAAIC,KAAK,CAAC,6BAA6B,IAAI,CAACX,IAAI,uEAAuE,CAAC;IAClI;IACA,IAAI,CAACY,WAAW,CAACC,YAAY,CAAC,qBAAqB,IAAI,IAAI,CAACT,SAAS,CAACM,MAAM,GAAG,CAAC,CAAC,GAAG,IAAI,CAAC;IACzF,MAAMI,IAAI,GAAG,KAAK,CAACT,MAAM,CAACC,4BAA4B,EAAEE,SAAS,EAAGO,OAAO,IAAK;MAC5EA,OAAO,CAACC,iBAAiB,CAAC,IAAI,CAACC,uBAAuB,CAACC,MAAM,EAAE,0BAA0B,EAAE,IAAI,CAACT,wBAAwB,CAAC;MACzH,IAAI,CAACL,SAAS,CAACe,OAAO,CAAC,CAACC,MAAM,EAAEC,KAAK,KAAK;QACtC,IAAIA,KAAK,KAAK,IAAI,CAACjB,SAAS,CAACM,MAAM,GAAG,CAAC,EAAE;UACrCK,OAAO,CAACO,sBAAsB,CAACF,MAAM,EAAE,CAAC,CAAC;QAC7C;QACAL,OAAO,CAACC,iBAAiB,CAAC,IAAI,CAACC,uBAAuB,CAACC,MAAM,EAAE,UAAU,IAAI,IAAI,CAACd,SAAS,CAACM,MAAM,GAAGW,KAAK,GAAG,CAAC,CAAC,EAAED,MAAM,CAAC;MAC5H,CAAC,CAAC;IACN,CAAC,CAAC;IACFN,IAAI,CAACS,UAAU,CAAC,IAAI,CAACd,wBAAwB,CAAC;IAC9C,KAAK,MAAMW,MAAM,IAAI,IAAI,CAAChB,SAAS,EAAE;MACjCU,IAAI,CAACS,UAAU,CAACH,MAAM,CAAC;IAC3B;IACA,OAAON,IAAI;EACf;AACJ","ignoreList":[]},"metadata":{},"sourceType":"module","externalDependencies":[]}
|