@onerjs/core 8.30.5 → 8.30.6
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/Actions/action.d.ts +5 -0
- package/Actions/action.js.map +1 -1
- package/Actions/actionManager.js +6 -2
- package/Actions/actionManager.js.map +1 -1
- package/Animations/runtimeAnimation.d.ts +0 -2
- package/Animations/runtimeAnimation.js +3 -5
- package/Animations/runtimeAnimation.js.map +1 -1
- package/AudioV2/abstractAudio/abstractSound.js +1 -0
- package/AudioV2/abstractAudio/abstractSound.js.map +1 -1
- package/AudioV2/abstractAudio/audioEngineV2.d.ts +2 -0
- package/AudioV2/abstractAudio/audioEngineV2.js +18 -8
- package/AudioV2/abstractAudio/audioEngineV2.js.map +1 -1
- package/AudioV2/webAudio/webAudioStaticSound.js +8 -3
- package/AudioV2/webAudio/webAudioStaticSound.js.map +1 -1
- package/Collisions/gpuPicker.js +0 -1
- package/Collisions/gpuPicker.js.map +1 -1
- package/Decorators/nodeDecorator.d.ts +3 -1
- package/Decorators/nodeDecorator.js +2 -0
- package/Decorators/nodeDecorator.js.map +1 -1
- package/Engines/Native/nativeInterfaces.d.ts +1 -1
- package/Engines/Native/nativeInterfaces.js.map +1 -1
- package/Engines/abstractEngine.js +2 -2
- package/Engines/abstractEngine.js.map +1 -1
- package/Engines/nativeEngine.js +12 -13
- package/Engines/nativeEngine.js.map +1 -1
- package/FrameGraph/Node/Blocks/PostProcesses/anaglyphPostProcessBlock.d.ts +2 -2
- package/FrameGraph/Node/Blocks/PostProcesses/anaglyphPostProcessBlock.js +2 -2
- package/FrameGraph/Node/Blocks/PostProcesses/anaglyphPostProcessBlock.js.map +1 -1
- package/FrameGraph/Node/Blocks/PostProcesses/basePostProcessBlock.js +1 -1
- package/FrameGraph/Node/Blocks/PostProcesses/basePostProcessBlock.js.map +1 -1
- package/FrameGraph/Node/Blocks/PostProcesses/baseWithPropertiesPostProcessBlock.d.ts +44 -0
- package/FrameGraph/Node/Blocks/PostProcesses/baseWithPropertiesPostProcessBlock.js +152 -0
- package/FrameGraph/Node/Blocks/PostProcesses/baseWithPropertiesPostProcessBlock.js.map +1 -0
- package/FrameGraph/Node/Blocks/PostProcesses/blackAndWhitePostProcessBlock.d.ts +2 -2
- package/FrameGraph/Node/Blocks/PostProcesses/blackAndWhitePostProcessBlock.js +2 -2
- package/FrameGraph/Node/Blocks/PostProcesses/blackAndWhitePostProcessBlock.js.map +1 -1
- package/FrameGraph/Node/Blocks/PostProcesses/blurPostProcessBlock.d.ts +2 -2
- package/FrameGraph/Node/Blocks/PostProcesses/blurPostProcessBlock.js +2 -2
- package/FrameGraph/Node/Blocks/PostProcesses/blurPostProcessBlock.js.map +1 -1
- package/FrameGraph/Node/Blocks/PostProcesses/chromaticAberrationPostProcessBlock.d.ts +2 -2
- package/FrameGraph/Node/Blocks/PostProcesses/chromaticAberrationPostProcessBlock.js +2 -2
- package/FrameGraph/Node/Blocks/PostProcesses/chromaticAberrationPostProcessBlock.js.map +1 -1
- package/FrameGraph/Node/Blocks/PostProcesses/circleOfConfusionPostProcessBlock.d.ts +2 -2
- package/FrameGraph/Node/Blocks/PostProcesses/circleOfConfusionPostProcessBlock.js +2 -2
- package/FrameGraph/Node/Blocks/PostProcesses/circleOfConfusionPostProcessBlock.js.map +1 -1
- package/FrameGraph/Node/Blocks/PostProcesses/colorCorrectionPostProcessBlock.d.ts +2 -2
- package/FrameGraph/Node/Blocks/PostProcesses/colorCorrectionPostProcessBlock.js +2 -2
- package/FrameGraph/Node/Blocks/PostProcesses/colorCorrectionPostProcessBlock.js.map +1 -1
- package/FrameGraph/Node/Blocks/PostProcesses/convolutionPostProcessBlock.d.ts +2 -2
- package/FrameGraph/Node/Blocks/PostProcesses/convolutionPostProcessBlock.js +2 -2
- package/FrameGraph/Node/Blocks/PostProcesses/convolutionPostProcessBlock.js.map +1 -1
- package/FrameGraph/Node/Blocks/PostProcesses/extractHighlightsPostProcessBlock.d.ts +2 -2
- package/FrameGraph/Node/Blocks/PostProcesses/extractHighlightsPostProcessBlock.js +2 -2
- package/FrameGraph/Node/Blocks/PostProcesses/extractHighlightsPostProcessBlock.js.map +1 -1
- package/FrameGraph/Node/Blocks/PostProcesses/filterPostProcessBlock.d.ts +2 -2
- package/FrameGraph/Node/Blocks/PostProcesses/filterPostProcessBlock.js +2 -2
- package/FrameGraph/Node/Blocks/PostProcesses/filterPostProcessBlock.js.map +1 -1
- package/FrameGraph/Node/Blocks/PostProcesses/fxaaPostProcessBlock.d.ts +2 -2
- package/FrameGraph/Node/Blocks/PostProcesses/fxaaPostProcessBlock.js +2 -2
- package/FrameGraph/Node/Blocks/PostProcesses/fxaaPostProcessBlock.js.map +1 -1
- package/FrameGraph/Node/Blocks/PostProcesses/grainPostProcessBlock.d.ts +2 -2
- package/FrameGraph/Node/Blocks/PostProcesses/grainPostProcessBlock.js +2 -2
- package/FrameGraph/Node/Blocks/PostProcesses/grainPostProcessBlock.js.map +1 -1
- package/FrameGraph/Node/Blocks/PostProcesses/imageProcessingPostProcessBlock.d.ts +2 -2
- package/FrameGraph/Node/Blocks/PostProcesses/imageProcessingPostProcessBlock.js +3 -3
- package/FrameGraph/Node/Blocks/PostProcesses/imageProcessingPostProcessBlock.js.map +1 -1
- package/FrameGraph/Node/Blocks/PostProcesses/motionBlurPostProcessBlock.d.ts +2 -2
- package/FrameGraph/Node/Blocks/PostProcesses/motionBlurPostProcessBlock.js +2 -2
- package/FrameGraph/Node/Blocks/PostProcesses/motionBlurPostProcessBlock.js.map +1 -1
- package/FrameGraph/Node/Blocks/PostProcesses/passPostProcessBlock.d.ts +3 -3
- package/FrameGraph/Node/Blocks/PostProcesses/passPostProcessBlock.js +3 -3
- package/FrameGraph/Node/Blocks/PostProcesses/passPostProcessBlock.js.map +1 -1
- package/FrameGraph/Node/Blocks/PostProcesses/screenSpaceCurvaturePostProcessBlock.d.ts +2 -2
- package/FrameGraph/Node/Blocks/PostProcesses/screenSpaceCurvaturePostProcessBlock.js +2 -2
- package/FrameGraph/Node/Blocks/PostProcesses/screenSpaceCurvaturePostProcessBlock.js.map +1 -1
- package/FrameGraph/Node/Blocks/PostProcesses/sharpenPostProcessBlock.d.ts +2 -2
- package/FrameGraph/Node/Blocks/PostProcesses/sharpenPostProcessBlock.js +4 -4
- package/FrameGraph/Node/Blocks/PostProcesses/sharpenPostProcessBlock.js.map +1 -1
- package/FrameGraph/Node/Blocks/PostProcesses/taaPostProcessBlock.d.ts +2 -2
- package/FrameGraph/Node/Blocks/PostProcesses/taaPostProcessBlock.js +2 -2
- package/FrameGraph/Node/Blocks/PostProcesses/taaPostProcessBlock.js.map +1 -1
- package/FrameGraph/Node/Blocks/PostProcesses/tonemapPostProcessBlock.d.ts +2 -2
- package/FrameGraph/Node/Blocks/PostProcesses/tonemapPostProcessBlock.js +2 -2
- package/FrameGraph/Node/Blocks/PostProcesses/tonemapPostProcessBlock.js.map +1 -1
- package/FrameGraph/Node/Blocks/Textures/copyTextureBlock.d.ts +17 -1
- package/FrameGraph/Node/Blocks/Textures/copyTextureBlock.js +70 -0
- package/FrameGraph/Node/Blocks/Textures/copyTextureBlock.js.map +1 -1
- package/FrameGraph/Tasks/PostProcesses/postProcessTask.d.ts +7 -1
- package/FrameGraph/Tasks/PostProcesses/postProcessTask.js +8 -2
- package/FrameGraph/Tasks/PostProcesses/postProcessTask.js.map +1 -1
- package/FrameGraph/Tasks/PostProcesses/taaTask.d.ts +1 -1
- package/FrameGraph/Tasks/PostProcesses/taaTask.js.map +1 -1
- package/FrameGraph/Tasks/Rendering/objectRendererTask.d.ts +4 -4
- package/FrameGraph/Tasks/Rendering/objectRendererTask.js +3 -3
- package/FrameGraph/Tasks/Rendering/objectRendererTask.js.map +1 -1
- package/FrameGraph/Tasks/Texture/copyToTextureTask.d.ts +7 -1
- package/FrameGraph/Tasks/Texture/copyToTextureTask.js +4 -1
- package/FrameGraph/Tasks/Texture/copyToTextureTask.js.map +1 -1
- package/FrameGraph/frameGraphContext.d.ts +8 -1
- package/FrameGraph/frameGraphContext.js +9 -0
- package/FrameGraph/frameGraphContext.js.map +1 -1
- package/FrameGraph/frameGraphRenderContext.d.ts +4 -2
- package/FrameGraph/frameGraphRenderContext.js +11 -5
- package/FrameGraph/frameGraphRenderContext.js.map +1 -1
- package/FrameGraph/frameGraphTask.d.ts +8 -0
- package/FrameGraph/frameGraphTask.js +12 -0
- package/FrameGraph/frameGraphTask.js.map +1 -1
- package/Materials/Textures/mirrorTexture.js +4 -1
- package/Materials/Textures/mirrorTexture.js.map +1 -1
- package/Materials/clipPlaneMaterialHelper.js +11 -1
- package/Materials/clipPlaneMaterialHelper.js.map +1 -1
- package/Materials/floatingOriginMatrixOverrides.d.ts +4 -1
- package/Materials/floatingOriginMatrixOverrides.js +14 -2
- package/Materials/floatingOriginMatrixOverrides.js.map +1 -1
- package/Materials/index.d.ts +1 -0
- package/Materials/index.js +1 -0
- package/Materials/index.js.map +1 -1
- package/Materials/shaderMaterial.js +1 -1
- package/Materials/shaderMaterial.js.map +1 -1
- package/Maths/math.vector.functions.d.ts +31 -5
- package/Maths/math.vector.functions.js +41 -4
- package/Maths/math.vector.functions.js.map +1 -1
- package/Misc/copyTextureToTexture.d.ts +10 -0
- package/Misc/copyTextureToTexture.js +15 -0
- package/Misc/copyTextureToTexture.js.map +1 -1
- package/Particles/Node/Blocks/Emitters/boxShapeBlock.js +7 -7
- package/Particles/Node/Blocks/Emitters/boxShapeBlock.js.map +1 -1
- package/Particles/Node/Blocks/Emitters/createParticleBlock.d.ts +4 -0
- package/Particles/Node/Blocks/Emitters/createParticleBlock.js +18 -2
- package/Particles/Node/Blocks/Emitters/createParticleBlock.js.map +1 -1
- package/Particles/Node/Blocks/Emitters/customShapeBlock.js +7 -7
- package/Particles/Node/Blocks/Emitters/customShapeBlock.js.map +1 -1
- package/Particles/Node/Blocks/Emitters/cylinderShapeBlock.js +8 -8
- package/Particles/Node/Blocks/Emitters/cylinderShapeBlock.js.map +1 -1
- package/Particles/Node/Blocks/Emitters/meshShapeBlock.js +9 -9
- package/Particles/Node/Blocks/Emitters/meshShapeBlock.js.map +1 -1
- package/Particles/Node/Blocks/Emitters/pointShapeBlock.js +6 -6
- package/Particles/Node/Blocks/Emitters/pointShapeBlock.js.map +1 -1
- package/Particles/Node/Blocks/Emitters/sphereShapeBlock.js +7 -7
- package/Particles/Node/Blocks/Emitters/sphereShapeBlock.js.map +1 -1
- package/Particles/Node/Blocks/systemBlock.d.ts +29 -1
- package/Particles/Node/Blocks/systemBlock.js +74 -3
- package/Particles/Node/Blocks/systemBlock.js.map +1 -1
- package/Particles/Node/nodeParticleBuildState.d.ts +2 -7
- package/Particles/Node/nodeParticleBuildState.js +7 -22
- package/Particles/Node/nodeParticleBuildState.js.map +1 -1
- package/Particles/Node/nodeParticleSystemSet.helper.js +223 -58
- package/Particles/Node/nodeParticleSystemSet.helper.js.map +1 -1
- package/Particles/thinParticleSystem.js +1 -0
- package/Particles/thinParticleSystem.js.map +1 -1
- package/Physics/v2/IPhysicsEnginePlugin.d.ts +1 -1
- package/Physics/v2/IPhysicsEnginePlugin.js.map +1 -1
- package/Physics/v2/Plugins/havokPlugin.d.ts +27 -4
- package/Physics/v2/Plugins/havokPlugin.js +72 -8
- package/Physics/v2/Plugins/havokPlugin.js.map +1 -1
- package/Physics/v2/physicsEngine.d.ts +12 -2
- package/Physics/v2/physicsEngine.js +15 -1
- package/Physics/v2/physicsEngine.js.map +1 -1
- package/Rendering/IBLShadows/iblShadowsVoxelRenderer.js +3 -0
- package/Rendering/IBLShadows/iblShadowsVoxelRenderer.js.map +1 -1
- package/Shaders/picking.fragment.js +1 -1
- package/Shaders/picking.fragment.js.map +1 -1
- package/Shaders/picking.vertex.js +1 -1
- package/Shaders/picking.vertex.js.map +1 -1
- package/ShadersWGSL/iblVoxelGrid.vertex.js +1 -1
- package/ShadersWGSL/iblVoxelGrid.vertex.js.map +1 -1
- package/ShadersWGSL/picking.fragment.js +1 -1
- package/ShadersWGSL/picking.fragment.js.map +1 -1
- package/ShadersWGSL/picking.vertex.js +1 -1
- package/ShadersWGSL/picking.vertex.js.map +1 -1
- package/Sprites/spriteRenderer.js +10 -8
- package/Sprites/spriteRenderer.js.map +1 -1
- package/XR/features/WebXRLightEstimation.d.ts +8 -0
- package/XR/features/WebXRLightEstimation.js +6 -1
- package/XR/features/WebXRLightEstimation.js.map +1 -1
- package/assetContainer.d.ts +1 -1
- package/assetContainer.js +1 -1
- package/assetContainer.js.map +1 -1
- package/package.json +1 -1
- package/scene.d.ts +5 -2
- package/scene.js +9 -14
- package/scene.js.map +1 -1
|
@@ -2,12 +2,12 @@ import { __decorate } from "../../../../tslib.es6.js";
|
|
|
2
2
|
import { RegisterClass } from "../../../../Misc/typeStore.js";
|
|
3
3
|
import { editableInPropertyPage } from "../../../../Decorators/nodeDecorator.js";
|
|
4
4
|
import { FrameGraphColorCorrectionTask } from "../../../Tasks/PostProcesses/colorCorrectionTask.js";
|
|
5
|
-
import { NodeRenderGraphBasePostProcessBlock } from "./basePostProcessBlock.js";
|
|
6
5
|
import { ThinColorCorrectionPostProcess } from "../../../../PostProcesses/thinColorCorrectionPostProcess.js";
|
|
6
|
+
import { NodeRenderGraphBaseWithPropertiesPostProcessBlock } from "./baseWithPropertiesPostProcessBlock.js";
|
|
7
7
|
/**
|
|
8
8
|
* Block that implements the color correction post process
|
|
9
9
|
*/
|
|
10
|
-
export class NodeRenderGraphColorCorrectionPostProcessBlock extends
|
|
10
|
+
export class NodeRenderGraphColorCorrectionPostProcessBlock extends NodeRenderGraphBaseWithPropertiesPostProcessBlock {
|
|
11
11
|
/**
|
|
12
12
|
* Gets the frame graph task associated with this block
|
|
13
13
|
*/
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"colorCorrectionPostProcessBlock.js","sourceRoot":"","sources":["../../../../../../../dev/core/src/FrameGraph/Node/Blocks/PostProcesses/colorCorrectionPostProcessBlock.ts"],"names":[],"mappings":";AACA,OAAO,EAAE,aAAa,EAAE,MAAM,4BAA4B,CAAC;AAC3D,OAAO,EAAE,sBAAsB,EAA0B,MAAM,sCAAsC,CAAC;AACtG,OAAO,EAAE,6BAA6B,EAAE,MAAM,kDAAkD,CAAC;AACjG,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"colorCorrectionPostProcessBlock.js","sourceRoot":"","sources":["../../../../../../../dev/core/src/FrameGraph/Node/Blocks/PostProcesses/colorCorrectionPostProcessBlock.ts"],"names":[],"mappings":";AACA,OAAO,EAAE,aAAa,EAAE,MAAM,4BAA4B,CAAC;AAC3D,OAAO,EAAE,sBAAsB,EAA0B,MAAM,sCAAsC,CAAC;AACtG,OAAO,EAAE,6BAA6B,EAAE,MAAM,kDAAkD,CAAC;AACjG,OAAO,EAAE,8BAA8B,EAAE,MAAM,0DAA0D,CAAC;AAC1G,OAAO,EAAE,iDAAiD,EAAE,MAAM,sCAAsC,CAAC;AAEzG;;GAEG;AACH,MAAM,OAAO,8CAA+C,SAAQ,iDAAiD;IAGjH;;OAEG;IACH,IAAoB,IAAI;QACpB,OAAO,IAAI,CAAC,eAAe,CAAC;IAChC,CAAC;IAED;;;;;;OAMG;IACH,YAAmB,IAAY,EAAE,UAAsB,EAAE,KAAY,EAAE,gBAAwB,EAAE;QAC7F,KAAK,CAAC,IAAI,EAAE,UAAU,EAAE,KAAK,CAAC,CAAC;QAE/B,IAAI,CAAC,iCAAiC,GAAG,CAAC,aAAa,CAAC,CAAC;QAEzD,IAAI,CAAC,+BAA+B,EAAE,CAAC;QAEvC,IAAI,CAAC,eAAe,GAAG,IAAI,6BAA6B,CAAC,IAAI,CAAC,IAAI,EAAE,UAAU,EAAE,aAAa,EAAE,IAAI,8BAA8B,CAAC,IAAI,EAAE,UAAU,CAAC,KAAK,EAAE,aAAa,CAAC,CAAC,CAAC;IAC9K,CAAC;IAEO,WAAW,CAAC,aAAqB;QACrC,MAAM,kBAAkB,GAAG,IAAI,CAAC,eAAe,CAAC,kBAAkB,CAAC;QAEnE,IAAI,CAAC,eAAe,CAAC,OAAO,EAAE,CAAC;QAE/B,IAAI,CAAC,eAAe,GAAG,IAAI,6BAA6B,CACpD,IAAI,CAAC,IAAI,EACT,IAAI,CAAC,WAAW,EAChB,aAAa,EACb,IAAI,8BAA8B,CAAC,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC,WAAW,CAAC,KAAK,EAAE,aAAa,CAAC,CACvF,CAAC;QACF,IAAI,CAAC,eAAe,CAAC,kBAAkB,GAAG,kBAAkB,CAAC;QAE7D,IAAI,CAAC,iCAAiC,GAAG,CAAC,aAAa,CAAC,CAAC;IAC7D,CAAC;IAED,0BAA0B;IAE1B,IAAW,aAAa;QACpB,OAAO,IAAI,CAAC,eAAe,CAAC,WAAW,CAAC,aAAa,CAAC;IAC1D,CAAC;IAED,IAAW,aAAa,CAAC,KAAa;QAClC,IAAI,CAAC,WAAW,CAAC,KAAK,CAAC,CAAC;IAC5B,CAAC;IAED;;;OAGG;IACa,YAAY;QACxB,OAAO,gDAAgD,CAAC;IAC5D,CAAC;CACJ;AAfG;IADC,sBAAsB,CAAC,iBAAiB,0CAAiC,YAAY,CAAC;mFAGtF;AAeL,aAAa,CAAC,wDAAwD,EAAE,8CAA8C,CAAC,CAAC","sourcesContent":["import type { Scene, FrameGraph } from \"core/index\";\r\nimport { RegisterClass } from \"../../../../Misc/typeStore\";\r\nimport { editableInPropertyPage, PropertyTypeForEdition } from \"../../../../Decorators/nodeDecorator\";\r\nimport { FrameGraphColorCorrectionTask } from \"../../../Tasks/PostProcesses/colorCorrectionTask\";\r\nimport { ThinColorCorrectionPostProcess } from \"../../../../PostProcesses/thinColorCorrectionPostProcess\";\r\nimport { NodeRenderGraphBaseWithPropertiesPostProcessBlock } from \"./baseWithPropertiesPostProcessBlock\";\r\n\r\n/**\r\n * Block that implements the color correction post process\r\n */\r\nexport class NodeRenderGraphColorCorrectionPostProcessBlock extends NodeRenderGraphBaseWithPropertiesPostProcessBlock {\r\n protected override _frameGraphTask: FrameGraphColorCorrectionTask;\r\n\r\n /**\r\n * Gets the frame graph task associated with this block\r\n */\r\n public override get task() {\r\n return this._frameGraphTask;\r\n }\r\n\r\n /**\r\n * Create a new NodeRenderGraphColorCorrectionPostProcessBlock\r\n * @param name defines the block name\r\n * @param frameGraph defines the hosting frame graph\r\n * @param scene defines the hosting scene\r\n * @param colorTableUrl defines the URL of the color table\r\n */\r\n public constructor(name: string, frameGraph: FrameGraph, scene: Scene, colorTableUrl: string = \"\") {\r\n super(name, frameGraph, scene);\r\n\r\n this._additionalConstructionParameters = [colorTableUrl];\r\n\r\n this._finalizeInputOutputRegistering();\r\n\r\n this._frameGraphTask = new FrameGraphColorCorrectionTask(this.name, frameGraph, colorTableUrl, new ThinColorCorrectionPostProcess(name, frameGraph.scene, colorTableUrl));\r\n }\r\n\r\n private _createTask(colorTableUrl: string) {\r\n const sourceSamplingMode = this._frameGraphTask.sourceSamplingMode;\r\n\r\n this._frameGraphTask.dispose();\r\n\r\n this._frameGraphTask = new FrameGraphColorCorrectionTask(\r\n this.name,\r\n this._frameGraph,\r\n colorTableUrl,\r\n new ThinColorCorrectionPostProcess(this.name, this._frameGraph.scene, colorTableUrl)\r\n );\r\n this._frameGraphTask.sourceSamplingMode = sourceSamplingMode;\r\n\r\n this._additionalConstructionParameters = [colorTableUrl];\r\n }\r\n\r\n /** The color table URL */\r\n @editableInPropertyPage(\"Color Table URL\", PropertyTypeForEdition.String, \"PROPERTIES\")\r\n public get colorTableUrl(): string {\r\n return this._frameGraphTask.postProcess.colorTableUrl;\r\n }\r\n\r\n public set colorTableUrl(value: string) {\r\n this._createTask(value);\r\n }\r\n\r\n /**\r\n * Gets the current class name\r\n * @returns the class name\r\n */\r\n public override getClassName() {\r\n return \"NodeRenderGraphColorCorrectionPostProcessBlock\";\r\n }\r\n}\r\n\r\nRegisterClass(\"BABYLON.NodeRenderGraphColorCorrectionPostProcessBlock\", NodeRenderGraphColorCorrectionPostProcessBlock);\r\n"]}
|
|
@@ -1,10 +1,10 @@
|
|
|
1
1
|
import type { Scene, FrameGraph } from "../../../../index.js";
|
|
2
2
|
import { FrameGraphConvolutionTask } from "../../../Tasks/PostProcesses/convolutionTask.js";
|
|
3
|
-
import {
|
|
3
|
+
import { NodeRenderGraphBaseWithPropertiesPostProcessBlock } from "./baseWithPropertiesPostProcessBlock.js";
|
|
4
4
|
/**
|
|
5
5
|
* Block that implements the convolution post process
|
|
6
6
|
*/
|
|
7
|
-
export declare class NodeRenderGraphConvolutionPostProcessBlock extends
|
|
7
|
+
export declare class NodeRenderGraphConvolutionPostProcessBlock extends NodeRenderGraphBaseWithPropertiesPostProcessBlock {
|
|
8
8
|
protected _frameGraphTask: FrameGraphConvolutionTask;
|
|
9
9
|
_additionalConstructionParameters: [number[]];
|
|
10
10
|
/**
|
|
@@ -2,12 +2,12 @@ import { __decorate } from "../../../../tslib.es6.js";
|
|
|
2
2
|
import { RegisterClass } from "../../../../Misc/typeStore.js";
|
|
3
3
|
import { editableInPropertyPage } from "../../../../Decorators/nodeDecorator.js";
|
|
4
4
|
import { FrameGraphConvolutionTask } from "../../../Tasks/PostProcesses/convolutionTask.js";
|
|
5
|
-
import { NodeRenderGraphBasePostProcessBlock } from "./basePostProcessBlock.js";
|
|
6
5
|
import { ThinConvolutionPostProcess } from "../../../../PostProcesses/thinConvolutionPostProcess.js";
|
|
6
|
+
import { NodeRenderGraphBaseWithPropertiesPostProcessBlock } from "./baseWithPropertiesPostProcessBlock.js";
|
|
7
7
|
/**
|
|
8
8
|
* Block that implements the convolution post process
|
|
9
9
|
*/
|
|
10
|
-
export class NodeRenderGraphConvolutionPostProcessBlock extends
|
|
10
|
+
export class NodeRenderGraphConvolutionPostProcessBlock extends NodeRenderGraphBaseWithPropertiesPostProcessBlock {
|
|
11
11
|
/**
|
|
12
12
|
* Gets the frame graph task associated with this block
|
|
13
13
|
*/
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"convolutionPostProcessBlock.js","sourceRoot":"","sources":["../../../../../../../dev/core/src/FrameGraph/Node/Blocks/PostProcesses/convolutionPostProcessBlock.ts"],"names":[],"mappings":";AACA,OAAO,EAAE,aAAa,EAAE,MAAM,4BAA4B,CAAC;AAC3D,OAAO,EAAE,sBAAsB,EAA0B,MAAM,sCAAsC,CAAC;AACtG,OAAO,EAAE,yBAAyB,EAAE,MAAM,8CAA8C,CAAC;AACzF,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"convolutionPostProcessBlock.js","sourceRoot":"","sources":["../../../../../../../dev/core/src/FrameGraph/Node/Blocks/PostProcesses/convolutionPostProcessBlock.ts"],"names":[],"mappings":"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","sourcesContent":["import type { Scene, FrameGraph } from \"core/index\";\r\nimport { RegisterClass } from \"../../../../Misc/typeStore\";\r\nimport { editableInPropertyPage, PropertyTypeForEdition } from \"../../../../Decorators/nodeDecorator\";\r\nimport { FrameGraphConvolutionTask } from \"../../../Tasks/PostProcesses/convolutionTask\";\r\nimport { ThinConvolutionPostProcess } from \"../../../../PostProcesses/thinConvolutionPostProcess\";\r\nimport { NodeRenderGraphBaseWithPropertiesPostProcessBlock } from \"./baseWithPropertiesPostProcessBlock\";\r\n\r\n/**\r\n * Block that implements the convolution post process\r\n */\r\nexport class NodeRenderGraphConvolutionPostProcessBlock extends NodeRenderGraphBaseWithPropertiesPostProcessBlock {\r\n protected override _frameGraphTask: FrameGraphConvolutionTask;\r\n\r\n public override _additionalConstructionParameters: [number[]];\r\n\r\n /**\r\n * Gets the frame graph task associated with this block\r\n */\r\n public override get task() {\r\n return this._frameGraphTask;\r\n }\r\n\r\n /**\r\n * Create a new NodeRenderGraphConvolutionPostProcessBlock\r\n * @param name defines the block name\r\n * @param frameGraph defines the hosting frame graph\r\n * @param scene defines the hosting scene\r\n * @param kernel Array of 9 values corresponding to the 3x3 kernel to be applied\r\n */\r\n public constructor(name: string, frameGraph: FrameGraph, scene: Scene, kernel: number[] = ThinConvolutionPostProcess.EmbossKernel) {\r\n super(name, frameGraph, scene);\r\n\r\n this._additionalConstructionParameters = [kernel];\r\n\r\n this._finalizeInputOutputRegistering();\r\n\r\n this._frameGraphTask = new FrameGraphConvolutionTask(this.name, frameGraph, new ThinConvolutionPostProcess(name, frameGraph.engine, kernel));\r\n }\r\n\r\n private _createTask(kernelIndex: number) {\r\n const sourceSamplingMode = this._frameGraphTask.sourceSamplingMode;\r\n\r\n this._frameGraphTask.dispose();\r\n\r\n let kernel = ThinConvolutionPostProcess.EmbossKernel;\r\n switch (kernelIndex) {\r\n case 0:\r\n kernel = ThinConvolutionPostProcess.EdgeDetect0Kernel;\r\n break;\r\n case 1:\r\n kernel = ThinConvolutionPostProcess.EdgeDetect1Kernel;\r\n break;\r\n case 2:\r\n kernel = ThinConvolutionPostProcess.EdgeDetect2Kernel;\r\n break;\r\n case 3:\r\n kernel = ThinConvolutionPostProcess.SharpenKernel;\r\n break;\r\n case 4:\r\n kernel = ThinConvolutionPostProcess.EmbossKernel;\r\n break;\r\n case 5:\r\n kernel = ThinConvolutionPostProcess.GaussianKernel;\r\n break;\r\n }\r\n\r\n this._frameGraphTask = new FrameGraphConvolutionTask(this.name, this._frameGraph, new ThinConvolutionPostProcess(this.name, this._frameGraph.engine, kernel));\r\n this._frameGraphTask.sourceSamplingMode = sourceSamplingMode;\r\n\r\n this._additionalConstructionParameters = [kernel];\r\n }\r\n\r\n /** The quality of the blur effect */\r\n @editableInPropertyPage(\"Kernel\", PropertyTypeForEdition.List, \"PROPERTIES\", {\r\n options: [\r\n { label: \"EdgeDetect0\", value: 0 },\r\n { label: \"EdgeDetect1\", value: 1 },\r\n { label: \"EdgeDetect2\", value: 2 },\r\n { label: \"Sharpen\", value: 3 },\r\n { label: \"Emboss\", value: 4 },\r\n { label: \"Gaussian\", value: 5 },\r\n ],\r\n })\r\n public get kernel(): number {\r\n const kernel = this._frameGraphTask.postProcess.kernel;\r\n\r\n if (kernel.every((value, index) => value === ThinConvolutionPostProcess.EdgeDetect0Kernel[index])) {\r\n return 0;\r\n }\r\n if (kernel.every((value, index) => value === ThinConvolutionPostProcess.EdgeDetect1Kernel[index])) {\r\n return 1;\r\n }\r\n if (kernel.every((value, index) => value === ThinConvolutionPostProcess.EdgeDetect2Kernel[index])) {\r\n return 2;\r\n }\r\n if (kernel.every((value, index) => value === ThinConvolutionPostProcess.SharpenKernel[index])) {\r\n return 3;\r\n }\r\n if (kernel.every((value, index) => value === ThinConvolutionPostProcess.EmbossKernel[index])) {\r\n return 4;\r\n }\r\n if (kernel.every((value, index) => value === ThinConvolutionPostProcess.GaussianKernel[index])) {\r\n return 5;\r\n }\r\n\r\n return 0;\r\n }\r\n\r\n public set kernel(value: number) {\r\n this._createTask(value);\r\n }\r\n\r\n /**\r\n * Gets the current class name\r\n * @returns the class name\r\n */\r\n public override getClassName() {\r\n return \"NodeRenderGraphConvolutionPostProcessBlock\";\r\n }\r\n}\r\n\r\nRegisterClass(\"BABYLON.NodeRenderGraphConvolutionPostProcessBlock\", NodeRenderGraphConvolutionPostProcessBlock);\r\n"]}
|
|
@@ -1,10 +1,10 @@
|
|
|
1
1
|
import type { Scene, FrameGraph } from "../../../../index.js";
|
|
2
2
|
import { FrameGraphExtractHighlightsTask } from "../../../Tasks/PostProcesses/extractHighlightsTask.js";
|
|
3
|
-
import {
|
|
3
|
+
import { NodeRenderGraphBaseWithPropertiesPostProcessBlock } from "./baseWithPropertiesPostProcessBlock.js";
|
|
4
4
|
/**
|
|
5
5
|
* Block that implements the extract highlights post process
|
|
6
6
|
*/
|
|
7
|
-
export declare class NodeRenderGraphExtractHighlightsPostProcessBlock extends
|
|
7
|
+
export declare class NodeRenderGraphExtractHighlightsPostProcessBlock extends NodeRenderGraphBaseWithPropertiesPostProcessBlock {
|
|
8
8
|
protected _frameGraphTask: FrameGraphExtractHighlightsTask;
|
|
9
9
|
/**
|
|
10
10
|
* Gets the frame graph task associated with this block
|
|
@@ -3,11 +3,11 @@ import { RegisterClass } from "../../../../Misc/typeStore.js";
|
|
|
3
3
|
import { editableInPropertyPage } from "../../../../Decorators/nodeDecorator.js";
|
|
4
4
|
import { FrameGraphExtractHighlightsTask } from "../../../Tasks/PostProcesses/extractHighlightsTask.js";
|
|
5
5
|
import { ThinExtractHighlightsPostProcess } from "../../../../PostProcesses/thinExtractHighlightsPostProcess.js";
|
|
6
|
-
import {
|
|
6
|
+
import { NodeRenderGraphBaseWithPropertiesPostProcessBlock } from "./baseWithPropertiesPostProcessBlock.js";
|
|
7
7
|
/**
|
|
8
8
|
* Block that implements the extract highlights post process
|
|
9
9
|
*/
|
|
10
|
-
export class NodeRenderGraphExtractHighlightsPostProcessBlock extends
|
|
10
|
+
export class NodeRenderGraphExtractHighlightsPostProcessBlock extends NodeRenderGraphBaseWithPropertiesPostProcessBlock {
|
|
11
11
|
/**
|
|
12
12
|
* Gets the frame graph task associated with this block
|
|
13
13
|
*/
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"extractHighlightsPostProcessBlock.js","sourceRoot":"","sources":["../../../../../../../dev/core/src/FrameGraph/Node/Blocks/PostProcesses/extractHighlightsPostProcessBlock.ts"],"names":[],"mappings":";AACA,OAAO,EAAE,aAAa,EAAE,MAAM,4BAA4B,CAAC;AAC3D,OAAO,EAAE,sBAAsB,EAA0B,MAAM,sCAAsC,CAAC;AACtG,OAAO,EAAE,+BAA+B,EAAE,8DAAkE;AAC5G,OAAO,EAAE,gCAAgC,EAAE,sEAA4D;AACvG,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"extractHighlightsPostProcessBlock.js","sourceRoot":"","sources":["../../../../../../../dev/core/src/FrameGraph/Node/Blocks/PostProcesses/extractHighlightsPostProcessBlock.ts"],"names":[],"mappings":";AACA,OAAO,EAAE,aAAa,EAAE,MAAM,4BAA4B,CAAC;AAC3D,OAAO,EAAE,sBAAsB,EAA0B,MAAM,sCAAsC,CAAC;AACtG,OAAO,EAAE,+BAA+B,EAAE,8DAAkE;AAC5G,OAAO,EAAE,gCAAgC,EAAE,sEAA4D;AACvG,OAAO,EAAE,iDAAiD,EAAE,MAAM,sCAAsC,CAAC;AAEzG;;GAEG;AACH,MAAM,OAAO,gDAAiD,SAAQ,iDAAiD;IAGnH;;OAEG;IACH,IAAoB,IAAI;QACpB,OAAO,IAAI,CAAC,eAAe,CAAC;IAChC,CAAC;IAED;;;;;OAKG;IACH,YAAmB,IAAY,EAAE,UAAsB,EAAE,KAAY;QACjE,KAAK,CAAC,IAAI,EAAE,UAAU,EAAE,KAAK,CAAC,CAAC;QAE/B,IAAI,CAAC,+BAA+B,EAAE,CAAC;QAEvC,IAAI,CAAC,eAAe,GAAG,IAAI,+BAA+B,CAAC,IAAI,CAAC,IAAI,EAAE,UAAU,EAAE,IAAI,gCAAgC,CAAC,IAAI,EAAE,KAAK,CAAC,SAAS,EAAE,CAAC,CAAC,CAAC;IACrJ,CAAC;IAED,6EAA6E;IAE7E,IAAW,SAAS;QAChB,OAAO,IAAI,CAAC,eAAe,CAAC,WAAW,CAAC,SAAS,CAAC;IACtD,CAAC;IAED,IAAW,SAAS,CAAC,KAAa;QAC9B,IAAI,CAAC,eAAe,CAAC,WAAW,CAAC,SAAS,GAAG,KAAK,CAAC;IACvD,CAAC;IAED;;;OAGG;IACa,YAAY;QACxB,OAAO,kDAAkD,CAAC;IAC9D,CAAC;IAEkB,mBAAmB;QAClC,MAAM,KAAK,GAAa,EAAE,CAAC;QAC3B,KAAK,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC,iBAAiB,gBAAgB,IAAI,CAAC,SAAS,GAAG,CAAC,CAAC;QACvE,OAAO,KAAK,CAAC,mBAAmB,EAAE,GAAG,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IAC1D,CAAC;IAEe,SAAS;QACrB,MAAM,mBAAmB,GAAG,KAAK,CAAC,SAAS,EAAE,CAAC;QAC9C,mBAAmB,CAAC,SAAS,GAAG,IAAI,CAAC,SAAS,CAAC;QAC/C,OAAO,mBAAmB,CAAC;IAC/B,CAAC;IAEe,YAAY,CAAC,mBAAwB;QACjD,KAAK,CAAC,YAAY,CAAC,mBAAmB,CAAC,CAAC;QACxC,IAAI,CAAC,SAAS,GAAG,mBAAmB,CAAC,SAAS,CAAC;IACnD,CAAC;CACJ;AAhCG;IADC,sBAAsB,CAAC,WAAW,wCAAgC,YAAY,EAAE,EAAE,GAAG,EAAE,CAAC,EAAE,GAAG,EAAE,CAAC,EAAE,CAAC;iFAGnG;AAgCL,aAAa,CAAC,0DAA0D,EAAE,gDAAgD,CAAC,CAAC","sourcesContent":["import type { Scene, FrameGraph } from \"core/index\";\r\nimport { RegisterClass } from \"../../../../Misc/typeStore\";\r\nimport { editableInPropertyPage, PropertyTypeForEdition } from \"../../../../Decorators/nodeDecorator\";\r\nimport { FrameGraphExtractHighlightsTask } from \"core/FrameGraph/Tasks/PostProcesses/extractHighlightsTask\";\r\nimport { ThinExtractHighlightsPostProcess } from \"core/PostProcesses/thinExtractHighlightsPostProcess\";\r\nimport { NodeRenderGraphBaseWithPropertiesPostProcessBlock } from \"./baseWithPropertiesPostProcessBlock\";\r\n\r\n/**\r\n * Block that implements the extract highlights post process\r\n */\r\nexport class NodeRenderGraphExtractHighlightsPostProcessBlock extends NodeRenderGraphBaseWithPropertiesPostProcessBlock {\r\n protected override _frameGraphTask: FrameGraphExtractHighlightsTask;\r\n\r\n /**\r\n * Gets the frame graph task associated with this block\r\n */\r\n public override get task() {\r\n return this._frameGraphTask;\r\n }\r\n\r\n /**\r\n * Create a new ExtractHighlightsPostProcessBlock\r\n * @param name defines the block name\r\n * @param frameGraph defines the hosting frame graph\r\n * @param scene defines the hosting scene\r\n */\r\n public constructor(name: string, frameGraph: FrameGraph, scene: Scene) {\r\n super(name, frameGraph, scene);\r\n\r\n this._finalizeInputOutputRegistering();\r\n\r\n this._frameGraphTask = new FrameGraphExtractHighlightsTask(this.name, frameGraph, new ThinExtractHighlightsPostProcess(name, scene.getEngine()));\r\n }\r\n\r\n /** The luminance threshold, pixels below this value will be set to black. */\r\n @editableInPropertyPage(\"Threshold\", PropertyTypeForEdition.Float, \"PROPERTIES\", { min: 0, max: 1 })\r\n public get threshold(): number {\r\n return this._frameGraphTask.postProcess.threshold;\r\n }\r\n\r\n public set threshold(value: number) {\r\n this._frameGraphTask.postProcess.threshold = value;\r\n }\r\n\r\n /**\r\n * Gets the current class name\r\n * @returns the class name\r\n */\r\n public override getClassName() {\r\n return \"NodeRenderGraphExtractHighlightsPostProcessBlock\";\r\n }\r\n\r\n protected override _dumpPropertiesCode() {\r\n const codes: string[] = [];\r\n codes.push(`${this._codeVariableName}.threshold = ${this.threshold};`);\r\n return super._dumpPropertiesCode() + codes.join(\"\\n\");\r\n }\r\n\r\n public override serialize(): any {\r\n const serializationObject = super.serialize();\r\n serializationObject.threshold = this.threshold;\r\n return serializationObject;\r\n }\r\n\r\n public override _deserialize(serializationObject: any) {\r\n super._deserialize(serializationObject);\r\n this.threshold = serializationObject.threshold;\r\n }\r\n}\r\n\r\nRegisterClass(\"BABYLON.NodeRenderGraphExtractHighlightsPostProcessBlock\", NodeRenderGraphExtractHighlightsPostProcessBlock);\r\n"]}
|
|
@@ -1,11 +1,11 @@
|
|
|
1
1
|
import type { Scene, FrameGraph } from "../../../../index.js";
|
|
2
2
|
import { FrameGraphFilterTask } from "../../../Tasks/PostProcesses/filterTask.js";
|
|
3
|
-
import { NodeRenderGraphBasePostProcessBlock } from "./basePostProcessBlock.js";
|
|
4
3
|
import { Matrix } from "../../../../Maths/math.vector.js";
|
|
4
|
+
import { NodeRenderGraphBaseWithPropertiesPostProcessBlock } from "./baseWithPropertiesPostProcessBlock.js";
|
|
5
5
|
/**
|
|
6
6
|
* Block that implements the kernel filter post process
|
|
7
7
|
*/
|
|
8
|
-
export declare class NodeRenderGraphFilterPostProcessBlock extends
|
|
8
|
+
export declare class NodeRenderGraphFilterPostProcessBlock extends NodeRenderGraphBaseWithPropertiesPostProcessBlock {
|
|
9
9
|
protected _frameGraphTask: FrameGraphFilterTask;
|
|
10
10
|
/**
|
|
11
11
|
* Gets the frame graph task associated with this block
|
|
@@ -3,12 +3,12 @@ import { RegisterClass } from "../../../../Misc/typeStore.js";
|
|
|
3
3
|
import { editableInPropertyPage } from "../../../../Decorators/nodeDecorator.js";
|
|
4
4
|
import { FrameGraphFilterTask } from "../../../Tasks/PostProcesses/filterTask.js";
|
|
5
5
|
import { ThinFilterPostProcess } from "../../../../PostProcesses/thinFilterPostProcess.js";
|
|
6
|
-
import { NodeRenderGraphBasePostProcessBlock } from "./basePostProcessBlock.js";
|
|
7
6
|
import { Matrix } from "../../../../Maths/math.vector.js";
|
|
7
|
+
import { NodeRenderGraphBaseWithPropertiesPostProcessBlock } from "./baseWithPropertiesPostProcessBlock.js";
|
|
8
8
|
/**
|
|
9
9
|
* Block that implements the kernel filter post process
|
|
10
10
|
*/
|
|
11
|
-
export class NodeRenderGraphFilterPostProcessBlock extends
|
|
11
|
+
export class NodeRenderGraphFilterPostProcessBlock extends NodeRenderGraphBaseWithPropertiesPostProcessBlock {
|
|
12
12
|
/**
|
|
13
13
|
* Gets the frame graph task associated with this block
|
|
14
14
|
*/
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"filterPostProcessBlock.js","sourceRoot":"","sources":["../../../../../../../dev/core/src/FrameGraph/Node/Blocks/PostProcesses/filterPostProcessBlock.ts"],"names":[],"mappings":";AACA,OAAO,EAAE,aAAa,EAAE,MAAM,4BAA4B,CAAC;AAC3D,OAAO,EAAE,sBAAsB,EAA0B,MAAM,sCAAsC,CAAC;AACtG,OAAO,EAAE,oBAAoB,EAAE,mDAAuD;AACtF,OAAO,EAAE,qBAAqB,EAAE,2DAAiD;AACjF,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"filterPostProcessBlock.js","sourceRoot":"","sources":["../../../../../../../dev/core/src/FrameGraph/Node/Blocks/PostProcesses/filterPostProcessBlock.ts"],"names":[],"mappings":";AACA,OAAO,EAAE,aAAa,EAAE,MAAM,4BAA4B,CAAC;AAC3D,OAAO,EAAE,sBAAsB,EAA0B,MAAM,sCAAsC,CAAC;AACtG,OAAO,EAAE,oBAAoB,EAAE,mDAAuD;AACtF,OAAO,EAAE,qBAAqB,EAAE,2DAAiD;AACjF,OAAO,EAAE,MAAM,EAAE,MAAM,+BAA+B,CAAC;AACvD,OAAO,EAAE,iDAAiD,EAAE,MAAM,sCAAsC,CAAC;AAEzG;;GAEG;AACH,MAAM,OAAO,qCAAsC,SAAQ,iDAAiD;IAGxG;;OAEG;IACH,IAAoB,IAAI;QACpB,OAAO,IAAI,CAAC,eAAe,CAAC;IAChC,CAAC;IAED;;;;;OAKG;IACH,YAAmB,IAAY,EAAE,UAAsB,EAAE,KAAY;QACjE,KAAK,CAAC,IAAI,EAAE,UAAU,EAAE,KAAK,CAAC,CAAC;QAE/B,IAAI,CAAC,+BAA+B,EAAE,CAAC;QAEvC,IAAI,CAAC,eAAe,GAAG,IAAI,oBAAoB,CAAC,IAAI,CAAC,IAAI,EAAE,UAAU,EAAE,IAAI,qBAAqB,CAAC,IAAI,EAAE,KAAK,CAAC,SAAS,EAAE,CAAC,CAAC,CAAC;IAC/H,CAAC;IAED,4CAA4C;IAE5C,IAAW,YAAY;QACnB,OAAO,IAAI,CAAC,eAAe,CAAC,WAAW,CAAC,YAAY,CAAC;IACzD,CAAC;IAED,IAAW,YAAY,CAAC,KAAa;QACjC,IAAI,CAAC,eAAe,CAAC,WAAW,CAAC,YAAY,GAAG,KAAK,CAAC;IAC1D,CAAC;IAED;;;OAGG;IACa,YAAY;QACxB,OAAO,uCAAuC,CAAC;IACnD,CAAC;IAEkB,mBAAmB;QAClC,MAAM,KAAK,GAAa,EAAE,CAAC;QAC3B,KAAK,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC,iBAAiB,mBAAmB,IAAI,CAAC,YAAY,GAAG,CAAC,CAAC;QAC7E,OAAO,KAAK,CAAC,mBAAmB,EAAE,GAAG,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IAC1D,CAAC;IAEe,SAAS;QACrB,MAAM,mBAAmB,GAAG,KAAK,CAAC,SAAS,EAAE,CAAC;QAC9C,mBAAmB,CAAC,YAAY,GAAG,IAAI,CAAC,YAAY,CAAC,OAAO,EAAE,CAAC;QAC/D,OAAO,mBAAmB,CAAC;IAC/B,CAAC;IAEe,YAAY,CAAC,mBAAwB;QACjD,KAAK,CAAC,YAAY,CAAC,mBAAmB,CAAC,CAAC;QACxC,IAAI,CAAC,YAAY,GAAG,MAAM,CAAC,SAAS,CAAC,mBAAmB,CAAC,YAAY,CAAC,CAAC;IAC3E,CAAC;CACJ;AAhCG;IADC,sBAAsB,CAAC,QAAQ,0CAAiC,YAAY,CAAC;yEAG7E;AAgCL,aAAa,CAAC,+CAA+C,EAAE,qCAAqC,CAAC,CAAC","sourcesContent":["import type { Scene, FrameGraph } from \"core/index\";\r\nimport { RegisterClass } from \"../../../../Misc/typeStore\";\r\nimport { editableInPropertyPage, PropertyTypeForEdition } from \"../../../../Decorators/nodeDecorator\";\r\nimport { FrameGraphFilterTask } from \"core/FrameGraph/Tasks/PostProcesses/filterTask\";\r\nimport { ThinFilterPostProcess } from \"core/PostProcesses/thinFilterPostProcess\";\r\nimport { Matrix } from \"../../../../Maths/math.vector\";\r\nimport { NodeRenderGraphBaseWithPropertiesPostProcessBlock } from \"./baseWithPropertiesPostProcessBlock\";\r\n\r\n/**\r\n * Block that implements the kernel filter post process\r\n */\r\nexport class NodeRenderGraphFilterPostProcessBlock extends NodeRenderGraphBaseWithPropertiesPostProcessBlock {\r\n protected override _frameGraphTask: FrameGraphFilterTask;\r\n\r\n /**\r\n * Gets the frame graph task associated with this block\r\n */\r\n public override get task() {\r\n return this._frameGraphTask;\r\n }\r\n\r\n /**\r\n * Create a new NodeRenderGraphFilterPostProcessBlock\r\n * @param name defines the block name\r\n * @param frameGraph defines the hosting frame graph\r\n * @param scene defines the hosting scene\r\n */\r\n public constructor(name: string, frameGraph: FrameGraph, scene: Scene) {\r\n super(name, frameGraph, scene);\r\n\r\n this._finalizeInputOutputRegistering();\r\n\r\n this._frameGraphTask = new FrameGraphFilterTask(this.name, frameGraph, new ThinFilterPostProcess(name, scene.getEngine()));\r\n }\r\n\r\n /** The matrix to be applied to the image */\r\n @editableInPropertyPage(\"Matrix\", PropertyTypeForEdition.Matrix, \"PROPERTIES\")\r\n public get kernelMatrix(): Matrix {\r\n return this._frameGraphTask.postProcess.kernelMatrix;\r\n }\r\n\r\n public set kernelMatrix(value: Matrix) {\r\n this._frameGraphTask.postProcess.kernelMatrix = value;\r\n }\r\n\r\n /**\r\n * Gets the current class name\r\n * @returns the class name\r\n */\r\n public override getClassName() {\r\n return \"NodeRenderGraphFilterPostProcessBlock\";\r\n }\r\n\r\n protected override _dumpPropertiesCode() {\r\n const codes: string[] = [];\r\n codes.push(`${this._codeVariableName}.kernelMatrix = ${this.kernelMatrix};`);\r\n return super._dumpPropertiesCode() + codes.join(\"\\n\");\r\n }\r\n\r\n public override serialize(): any {\r\n const serializationObject = super.serialize();\r\n serializationObject.kernelMatrix = this.kernelMatrix.asArray();\r\n return serializationObject;\r\n }\r\n\r\n public override _deserialize(serializationObject: any) {\r\n super._deserialize(serializationObject);\r\n this.kernelMatrix = Matrix.FromArray(serializationObject.kernelMatrix);\r\n }\r\n}\r\n\r\nRegisterClass(\"BABYLON.NodeRenderGraphFilterPostProcessBlock\", NodeRenderGraphFilterPostProcessBlock);\r\n"]}
|
|
@@ -1,10 +1,10 @@
|
|
|
1
1
|
import type { Scene, FrameGraph } from "../../../../index.js";
|
|
2
2
|
import { FrameGraphFXAATask } from "../../../Tasks/PostProcesses/fxaaTask.js";
|
|
3
|
-
import {
|
|
3
|
+
import { NodeRenderGraphBaseWithPropertiesPostProcessBlock } from "./baseWithPropertiesPostProcessBlock.js";
|
|
4
4
|
/**
|
|
5
5
|
* Block that implements the FXAA post process
|
|
6
6
|
*/
|
|
7
|
-
export declare class NodeRenderGraphFXAAPostProcessBlock extends
|
|
7
|
+
export declare class NodeRenderGraphFXAAPostProcessBlock extends NodeRenderGraphBaseWithPropertiesPostProcessBlock {
|
|
8
8
|
protected _frameGraphTask: FrameGraphFXAATask;
|
|
9
9
|
/**
|
|
10
10
|
* Gets the frame graph task associated with this block
|
|
@@ -1,11 +1,11 @@
|
|
|
1
1
|
import { RegisterClass } from "../../../../Misc/typeStore.js";
|
|
2
2
|
import { FrameGraphFXAATask } from "../../../Tasks/PostProcesses/fxaaTask.js";
|
|
3
3
|
import { ThinFXAAPostProcess } from "../../../../PostProcesses/thinFXAAPostProcess.js";
|
|
4
|
-
import {
|
|
4
|
+
import { NodeRenderGraphBaseWithPropertiesPostProcessBlock } from "./baseWithPropertiesPostProcessBlock.js";
|
|
5
5
|
/**
|
|
6
6
|
* Block that implements the FXAA post process
|
|
7
7
|
*/
|
|
8
|
-
export class NodeRenderGraphFXAAPostProcessBlock extends
|
|
8
|
+
export class NodeRenderGraphFXAAPostProcessBlock extends NodeRenderGraphBaseWithPropertiesPostProcessBlock {
|
|
9
9
|
/**
|
|
10
10
|
* Gets the frame graph task associated with this block
|
|
11
11
|
*/
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"fxaaPostProcessBlock.js","sourceRoot":"","sources":["../../../../../../../dev/core/src/FrameGraph/Node/Blocks/PostProcesses/fxaaPostProcessBlock.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,aAAa,EAAE,MAAM,4BAA4B,CAAC;AAC3D,OAAO,EAAE,kBAAkB,EAAE,iDAAqD;AAClF,OAAO,EAAE,mBAAmB,EAAE,yDAA+C;AAC7E,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"fxaaPostProcessBlock.js","sourceRoot":"","sources":["../../../../../../../dev/core/src/FrameGraph/Node/Blocks/PostProcesses/fxaaPostProcessBlock.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,aAAa,EAAE,MAAM,4BAA4B,CAAC;AAC3D,OAAO,EAAE,kBAAkB,EAAE,iDAAqD;AAClF,OAAO,EAAE,mBAAmB,EAAE,yDAA+C;AAC7E,OAAO,EAAE,iDAAiD,EAAE,MAAM,sCAAsC,CAAC;AAEzG;;GAEG;AACH,MAAM,OAAO,mCAAoC,SAAQ,iDAAiD;IAGtG;;OAEG;IACH,IAAoB,IAAI;QACpB,OAAO,IAAI,CAAC,eAAe,CAAC;IAChC,CAAC;IAED;;;;;OAKG;IACH,YAAmB,IAAY,EAAE,UAAsB,EAAE,KAAY;QACjE,KAAK,CAAC,IAAI,EAAE,UAAU,EAAE,KAAK,CAAC,CAAC;QAE/B,IAAI,CAAC,+BAA+B,EAAE,CAAC;QAEvC,IAAI,CAAC,eAAe,GAAG,IAAI,kBAAkB,CAAC,IAAI,CAAC,IAAI,EAAE,UAAU,EAAE,IAAI,mBAAmB,CAAC,IAAI,EAAE,KAAK,CAAC,SAAS,EAAE,CAAC,CAAC,CAAC;IAC3H,CAAC;IAED;;;OAGG;IACa,YAAY;QACxB,OAAO,qCAAqC,CAAC;IACjD,CAAC;CACJ;AAED,aAAa,CAAC,6CAA6C,EAAE,mCAAmC,CAAC,CAAC","sourcesContent":["import type { Scene, FrameGraph } from \"core/index\";\r\nimport { RegisterClass } from \"../../../../Misc/typeStore\";\r\nimport { FrameGraphFXAATask } from \"core/FrameGraph/Tasks/PostProcesses/fxaaTask\";\r\nimport { ThinFXAAPostProcess } from \"core/PostProcesses/thinFXAAPostProcess\";\r\nimport { NodeRenderGraphBaseWithPropertiesPostProcessBlock } from \"./baseWithPropertiesPostProcessBlock\";\r\n\r\n/**\r\n * Block that implements the FXAA post process\r\n */\r\nexport class NodeRenderGraphFXAAPostProcessBlock extends NodeRenderGraphBaseWithPropertiesPostProcessBlock {\r\n protected override _frameGraphTask: FrameGraphFXAATask;\r\n\r\n /**\r\n * Gets the frame graph task associated with this block\r\n */\r\n public override get task() {\r\n return this._frameGraphTask;\r\n }\r\n\r\n /**\r\n * Create a new FXAA post-process block\r\n * @param name defines the block name\r\n * @param frameGraph defines the hosting frame graph\r\n * @param scene defines the hosting scene\r\n */\r\n public constructor(name: string, frameGraph: FrameGraph, scene: Scene) {\r\n super(name, frameGraph, scene);\r\n\r\n this._finalizeInputOutputRegistering();\r\n\r\n this._frameGraphTask = new FrameGraphFXAATask(this.name, frameGraph, new ThinFXAAPostProcess(name, scene.getEngine()));\r\n }\r\n\r\n /**\r\n * Gets the current class name\r\n * @returns the class name\r\n */\r\n public override getClassName() {\r\n return \"NodeRenderGraphFXAAPostProcessBlock\";\r\n }\r\n}\r\n\r\nRegisterClass(\"BABYLON.NodeRenderGraphFXAAPostProcessBlock\", NodeRenderGraphFXAAPostProcessBlock);\r\n"]}
|
|
@@ -1,10 +1,10 @@
|
|
|
1
1
|
import type { Scene, FrameGraph } from "../../../../index.js";
|
|
2
2
|
import { FrameGraphGrainTask } from "../../../Tasks/PostProcesses/grainTask.js";
|
|
3
|
-
import {
|
|
3
|
+
import { NodeRenderGraphBaseWithPropertiesPostProcessBlock } from "./baseWithPropertiesPostProcessBlock.js";
|
|
4
4
|
/**
|
|
5
5
|
* Block that implements the grain post process
|
|
6
6
|
*/
|
|
7
|
-
export declare class NodeRenderGraphGrainPostProcessBlock extends
|
|
7
|
+
export declare class NodeRenderGraphGrainPostProcessBlock extends NodeRenderGraphBaseWithPropertiesPostProcessBlock {
|
|
8
8
|
protected _frameGraphTask: FrameGraphGrainTask;
|
|
9
9
|
/**
|
|
10
10
|
* Gets the frame graph task associated with this block
|
|
@@ -3,11 +3,11 @@ import { RegisterClass } from "../../../../Misc/typeStore.js";
|
|
|
3
3
|
import { editableInPropertyPage } from "../../../../Decorators/nodeDecorator.js";
|
|
4
4
|
import { FrameGraphGrainTask } from "../../../Tasks/PostProcesses/grainTask.js";
|
|
5
5
|
import { ThinGrainPostProcess } from "../../../../PostProcesses/thinGrainPostProcess.js";
|
|
6
|
-
import {
|
|
6
|
+
import { NodeRenderGraphBaseWithPropertiesPostProcessBlock } from "./baseWithPropertiesPostProcessBlock.js";
|
|
7
7
|
/**
|
|
8
8
|
* Block that implements the grain post process
|
|
9
9
|
*/
|
|
10
|
-
export class NodeRenderGraphGrainPostProcessBlock extends
|
|
10
|
+
export class NodeRenderGraphGrainPostProcessBlock extends NodeRenderGraphBaseWithPropertiesPostProcessBlock {
|
|
11
11
|
/**
|
|
12
12
|
* Gets the frame graph task associated with this block
|
|
13
13
|
*/
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"grainPostProcessBlock.js","sourceRoot":"","sources":["../../../../../../../dev/core/src/FrameGraph/Node/Blocks/PostProcesses/grainPostProcessBlock.ts"],"names":[],"mappings":";AACA,OAAO,EAAE,aAAa,EAAE,MAAM,4BAA4B,CAAC;AAC3D,OAAO,EAAE,sBAAsB,EAA0B,MAAM,sCAAsC,CAAC;AACtG,OAAO,EAAE,mBAAmB,EAAE,kDAAsD;AACpF,OAAO,EAAE,oBAAoB,EAAE,0DAAgD;AAC/E,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"grainPostProcessBlock.js","sourceRoot":"","sources":["../../../../../../../dev/core/src/FrameGraph/Node/Blocks/PostProcesses/grainPostProcessBlock.ts"],"names":[],"mappings":";AACA,OAAO,EAAE,aAAa,EAAE,MAAM,4BAA4B,CAAC;AAC3D,OAAO,EAAE,sBAAsB,EAA0B,MAAM,sCAAsC,CAAC;AACtG,OAAO,EAAE,mBAAmB,EAAE,kDAAsD;AACpF,OAAO,EAAE,oBAAoB,EAAE,0DAAgD;AAC/E,OAAO,EAAE,iDAAiD,EAAE,MAAM,sCAAsC,CAAC;AAEzG;;GAEG;AACH,MAAM,OAAO,oCAAqC,SAAQ,iDAAiD;IAGvG;;OAEG;IACH,IAAoB,IAAI;QACpB,OAAO,IAAI,CAAC,eAAe,CAAC;IAChC,CAAC;IAED;;;;;OAKG;IACH,YAAmB,IAAY,EAAE,UAAsB,EAAE,KAAY;QACjE,KAAK,CAAC,IAAI,EAAE,UAAU,EAAE,KAAK,CAAC,CAAC;QAE/B,IAAI,CAAC,+BAA+B,EAAE,CAAC;QAEvC,IAAI,CAAC,eAAe,GAAG,IAAI,mBAAmB,CAAC,IAAI,CAAC,IAAI,EAAE,UAAU,EAAE,IAAI,oBAAoB,CAAC,IAAI,EAAE,KAAK,CAAC,SAAS,EAAE,CAAC,CAAC,CAAC;IAC7H,CAAC;IAED,uCAAuC;IAEvC,IAAW,SAAS;QAChB,OAAO,IAAI,CAAC,eAAe,CAAC,WAAW,CAAC,SAAS,CAAC;IACtD,CAAC;IAED,IAAW,SAAS,CAAC,KAAa;QAC9B,IAAI,CAAC,eAAe,CAAC,WAAW,CAAC,SAAS,GAAG,KAAK,CAAC;IACvD,CAAC;IAED,uDAAuD;IAEvD,IAAW,QAAQ;QACf,OAAO,IAAI,CAAC,eAAe,CAAC,WAAW,CAAC,QAAQ,CAAC;IACrD,CAAC;IAED,IAAW,QAAQ,CAAC,KAAc;QAC9B,IAAI,CAAC,eAAe,CAAC,WAAW,CAAC,QAAQ,GAAG,KAAK,CAAC;IACtD,CAAC;IAED;;;OAGG;IACa,YAAY;QACxB,OAAO,sCAAsC,CAAC;IAClD,CAAC;IAEkB,mBAAmB;QAClC,MAAM,KAAK,GAAa,EAAE,CAAC;QAC3B,KAAK,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC,iBAAiB,gBAAgB,IAAI,CAAC,SAAS,GAAG,CAAC,CAAC;QACvE,KAAK,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC,iBAAiB,eAAe,IAAI,CAAC,QAAQ,GAAG,CAAC,CAAC;QACrE,OAAO,KAAK,CAAC,mBAAmB,EAAE,GAAG,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IAC1D,CAAC;IAEe,SAAS;QACrB,MAAM,mBAAmB,GAAG,KAAK,CAAC,SAAS,EAAE,CAAC;QAC9C,mBAAmB,CAAC,SAAS,GAAG,IAAI,CAAC,SAAS,CAAC;QAC/C,mBAAmB,CAAC,QAAQ,GAAG,IAAI,CAAC,QAAQ,CAAC;QAC7C,OAAO,mBAAmB,CAAC;IAC/B,CAAC;IAEe,YAAY,CAAC,mBAAwB;QACjD,KAAK,CAAC,YAAY,CAAC,mBAAmB,CAAC,CAAC;QACxC,IAAI,CAAC,SAAS,GAAG,mBAAmB,CAAC,SAAS,CAAC;QAC/C,IAAI,CAAC,QAAQ,GAAG,mBAAmB,CAAC,QAAQ,CAAC;IACjD,CAAC;CACJ;AA7CG;IADC,sBAAsB,CAAC,WAAW,wCAAgC,YAAY,EAAE,EAAE,GAAG,EAAE,CAAC,EAAE,GAAG,EAAE,GAAG,EAAE,CAAC;qEAGrG;AAQD;IADC,sBAAsB,CAAC,UAAU,0CAAkC,YAAY,CAAC;oEAGhF;AAmCL,aAAa,CAAC,8CAA8C,EAAE,oCAAoC,CAAC,CAAC","sourcesContent":["import type { Scene, FrameGraph } from \"core/index\";\r\nimport { RegisterClass } from \"../../../../Misc/typeStore\";\r\nimport { editableInPropertyPage, PropertyTypeForEdition } from \"../../../../Decorators/nodeDecorator\";\r\nimport { FrameGraphGrainTask } from \"core/FrameGraph/Tasks/PostProcesses/grainTask\";\r\nimport { ThinGrainPostProcess } from \"core/PostProcesses/thinGrainPostProcess\";\r\nimport { NodeRenderGraphBaseWithPropertiesPostProcessBlock } from \"./baseWithPropertiesPostProcessBlock\";\r\n\r\n/**\r\n * Block that implements the grain post process\r\n */\r\nexport class NodeRenderGraphGrainPostProcessBlock extends NodeRenderGraphBaseWithPropertiesPostProcessBlock {\r\n protected override _frameGraphTask: FrameGraphGrainTask;\r\n\r\n /**\r\n * Gets the frame graph task associated with this block\r\n */\r\n public override get task() {\r\n return this._frameGraphTask;\r\n }\r\n\r\n /**\r\n * Create a new grain post process block\r\n * @param name defines the block name\r\n * @param frameGraph defines the hosting frame graph\r\n * @param scene defines the hosting scene\r\n */\r\n public constructor(name: string, frameGraph: FrameGraph, scene: Scene) {\r\n super(name, frameGraph, scene);\r\n\r\n this._finalizeInputOutputRegistering();\r\n\r\n this._frameGraphTask = new FrameGraphGrainTask(this.name, frameGraph, new ThinGrainPostProcess(name, scene.getEngine()));\r\n }\r\n\r\n /** The intensity of the grain added */\r\n @editableInPropertyPage(\"Intensity\", PropertyTypeForEdition.Float, \"PROPERTIES\", { min: 0, max: 200 })\r\n public get intensity(): number {\r\n return this._frameGraphTask.postProcess.intensity;\r\n }\r\n\r\n public set intensity(value: number) {\r\n this._frameGraphTask.postProcess.intensity = value;\r\n }\r\n\r\n /** If the grain should be randomized on every frame */\r\n @editableInPropertyPage(\"Animated\", PropertyTypeForEdition.Boolean, \"PROPERTIES\")\r\n public get animated(): boolean {\r\n return this._frameGraphTask.postProcess.animated;\r\n }\r\n\r\n public set animated(value: boolean) {\r\n this._frameGraphTask.postProcess.animated = value;\r\n }\r\n\r\n /**\r\n * Gets the current class name\r\n * @returns the class name\r\n */\r\n public override getClassName() {\r\n return \"NodeRenderGraphGrainPostProcessBlock\";\r\n }\r\n\r\n protected override _dumpPropertiesCode() {\r\n const codes: string[] = [];\r\n codes.push(`${this._codeVariableName}.intensity = ${this.intensity};`);\r\n codes.push(`${this._codeVariableName}.animated = ${this.animated};`);\r\n return super._dumpPropertiesCode() + codes.join(\"\\n\");\r\n }\r\n\r\n public override serialize(): any {\r\n const serializationObject = super.serialize();\r\n serializationObject.intensity = this.intensity;\r\n serializationObject.animated = this.animated;\r\n return serializationObject;\r\n }\r\n\r\n public override _deserialize(serializationObject: any) {\r\n super._deserialize(serializationObject);\r\n this.intensity = serializationObject.intensity;\r\n this.animated = serializationObject.animated;\r\n }\r\n}\r\n\r\nRegisterClass(\"BABYLON.NodeRenderGraphGrainPostProcessBlock\", NodeRenderGraphGrainPostProcessBlock);\r\n"]}
|
|
@@ -1,11 +1,11 @@
|
|
|
1
1
|
import type { Scene, FrameGraph } from "../../../../index.js";
|
|
2
2
|
import { FrameGraphImageProcessingTask } from "../../../Tasks/PostProcesses/imageProcessingTask.js";
|
|
3
|
-
import { NodeRenderGraphBasePostProcessBlock } from "./basePostProcessBlock.js";
|
|
4
3
|
import { Color4 } from "../../../../Maths/math.color.js";
|
|
4
|
+
import { NodeRenderGraphBaseWithPropertiesPostProcessBlock } from "./baseWithPropertiesPostProcessBlock.js";
|
|
5
5
|
/**
|
|
6
6
|
* Block that implements the image processing post process
|
|
7
7
|
*/
|
|
8
|
-
export declare class NodeRenderGraphImageProcessingPostProcessBlock extends
|
|
8
|
+
export declare class NodeRenderGraphImageProcessingPostProcessBlock extends NodeRenderGraphBaseWithPropertiesPostProcessBlock {
|
|
9
9
|
protected _frameGraphTask: FrameGraphImageProcessingTask;
|
|
10
10
|
/**
|
|
11
11
|
* Gets the frame graph task associated with this block
|
|
@@ -3,13 +3,13 @@ import { RegisterClass } from "../../../../Misc/typeStore.js";
|
|
|
3
3
|
import { editableInPropertyPage } from "../../../../Decorators/nodeDecorator.js";
|
|
4
4
|
import { FrameGraphImageProcessingTask } from "../../../Tasks/PostProcesses/imageProcessingTask.js";
|
|
5
5
|
import { ThinImageProcessingPostProcess } from "../../../../PostProcesses/thinImageProcessingPostProcess.js";
|
|
6
|
-
import { NodeRenderGraphBasePostProcessBlock } from "./basePostProcessBlock.js";
|
|
7
6
|
import { ImageProcessingConfiguration } from "../../../../Materials/imageProcessingConfiguration.js";
|
|
8
7
|
import { Color4 } from "../../../../Maths/math.color.js";
|
|
8
|
+
import { NodeRenderGraphBaseWithPropertiesPostProcessBlock } from "./baseWithPropertiesPostProcessBlock.js";
|
|
9
9
|
/**
|
|
10
10
|
* Block that implements the image processing post process
|
|
11
11
|
*/
|
|
12
|
-
export class NodeRenderGraphImageProcessingPostProcessBlock extends
|
|
12
|
+
export class NodeRenderGraphImageProcessingPostProcessBlock extends NodeRenderGraphBaseWithPropertiesPostProcessBlock {
|
|
13
13
|
/**
|
|
14
14
|
* Gets the frame graph task associated with this block
|
|
15
15
|
*/
|
|
@@ -211,7 +211,7 @@ __decorate([
|
|
|
211
211
|
editableInPropertyPage("Enabled", 0 /* PropertyTypeForEdition.Boolean */, "VIGNETTE")
|
|
212
212
|
], NodeRenderGraphImageProcessingPostProcessBlock.prototype, "vignetteEnabled", null);
|
|
213
213
|
__decorate([
|
|
214
|
-
editableInPropertyPage("Weight", 1 /* PropertyTypeForEdition.Float */, "VIGNETTE", { min: 0, max:
|
|
214
|
+
editableInPropertyPage("Weight", 1 /* PropertyTypeForEdition.Float */, "VIGNETTE", { min: 0, max: 200 })
|
|
215
215
|
], NodeRenderGraphImageProcessingPostProcessBlock.prototype, "vignetteWeight", null);
|
|
216
216
|
__decorate([
|
|
217
217
|
editableInPropertyPage("Stretch", 1 /* PropertyTypeForEdition.Float */, "VIGNETTE", { min: 0, max: 1 })
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"imageProcessingPostProcessBlock.js","sourceRoot":"","sources":["../../../../../../../dev/core/src/FrameGraph/Node/Blocks/PostProcesses/imageProcessingPostProcessBlock.ts"],"names":[],"mappings":"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","sourcesContent":["import type { Scene, FrameGraph } from \"core/index\";\r\nimport { RegisterClass } from \"../../../../Misc/typeStore\";\r\nimport { editableInPropertyPage, PropertyTypeForEdition } from \"../../../../Decorators/nodeDecorator\";\r\nimport { FrameGraphImageProcessingTask } from \"core/FrameGraph/Tasks/PostProcesses/imageProcessingTask\";\r\nimport { ThinImageProcessingPostProcess } from \"core/PostProcesses/thinImageProcessingPostProcess\";\r\nimport { NodeRenderGraphBasePostProcessBlock } from \"./basePostProcessBlock\";\r\nimport { ImageProcessingConfiguration } from \"core/Materials/imageProcessingConfiguration\";\r\nimport { Color4 } from \"../../../../Maths/math.color\";\r\n\r\n/**\r\n * Block that implements the image processing post process\r\n */\r\nexport class NodeRenderGraphImageProcessingPostProcessBlock extends NodeRenderGraphBasePostProcessBlock {\r\n protected override _frameGraphTask: FrameGraphImageProcessingTask;\r\n\r\n /**\r\n * Gets the frame graph task associated with this block\r\n */\r\n public override get task() {\r\n return this._frameGraphTask;\r\n }\r\n\r\n /**\r\n * Create a new image processing post process block\r\n * @param name defines the block name\r\n * @param frameGraph defines the hosting frame graph\r\n * @param scene defines the hosting scene\r\n */\r\n public constructor(name: string, frameGraph: FrameGraph, scene: Scene) {\r\n super(name, frameGraph, scene);\r\n\r\n this._finalizeInputOutputRegistering();\r\n\r\n this._frameGraphTask = new FrameGraphImageProcessingTask(\r\n this.name,\r\n frameGraph,\r\n new ThinImageProcessingPostProcess(name, scene.getEngine(), {\r\n scene,\r\n imageProcessingConfiguration: new ImageProcessingConfiguration(),\r\n })\r\n );\r\n }\r\n\r\n /** Contrast used in the effect */\r\n @editableInPropertyPage(\"Contrast\", PropertyTypeForEdition.Float, \"PROPERTIES\", { min: 0, max: 4 })\r\n public get contrast(): number {\r\n return this._frameGraphTask.postProcess.contrast;\r\n }\r\n\r\n public set contrast(value: number) {\r\n this._frameGraphTask.postProcess.contrast = value;\r\n }\r\n\r\n /** Exposure used in the effect */\r\n @editableInPropertyPage(\"Exposure\", PropertyTypeForEdition.Float, \"PROPERTIES\", { min: 0, max: 4 })\r\n public get exposure(): number {\r\n return this._frameGraphTask.postProcess.exposure;\r\n }\r\n\r\n public set exposure(value: number) {\r\n this._frameGraphTask.postProcess.exposure = value;\r\n }\r\n\r\n /** Whether the tone mapping effect is enabled. */\r\n @editableInPropertyPage(\"Enabled\", PropertyTypeForEdition.Boolean, \"TONE MAPPING\")\r\n public get toneMappingEnabled(): boolean {\r\n return this._frameGraphTask.postProcess.toneMappingEnabled;\r\n }\r\n\r\n public set toneMappingEnabled(value: boolean) {\r\n this._frameGraphTask.postProcess.toneMappingEnabled = value;\r\n }\r\n\r\n /** Type of tone mapping effect. */\r\n @editableInPropertyPage(\"Type\", PropertyTypeForEdition.List, \"TONE MAPPING\", {\r\n options: [\r\n { value: ImageProcessingConfiguration.TONEMAPPING_STANDARD, label: \"Standard\" },\r\n { value: ImageProcessingConfiguration.TONEMAPPING_ACES, label: \"ACES\" },\r\n { value: ImageProcessingConfiguration.TONEMAPPING_KHR_PBR_NEUTRAL, label: \"KHR PBR Neutral\" },\r\n ],\r\n })\r\n public get toneMappingType(): number {\r\n return this._frameGraphTask.postProcess.toneMappingType;\r\n }\r\n\r\n public set toneMappingType(value: number) {\r\n this._frameGraphTask.postProcess.toneMappingType = value;\r\n }\r\n\r\n /** Whether the vignette effect is enabled. */\r\n @editableInPropertyPage(\"Enabled\", PropertyTypeForEdition.Boolean, \"VIGNETTE\")\r\n public get vignetteEnabled(): boolean {\r\n return this._frameGraphTask.postProcess.vignetteEnabled;\r\n }\r\n\r\n public set vignetteEnabled(value: boolean) {\r\n this._frameGraphTask.postProcess.vignetteEnabled = value;\r\n }\r\n\r\n /** Vignette weight or intensity of the vignette effect. */\r\n @editableInPropertyPage(\"Weight\", PropertyTypeForEdition.Float, \"VIGNETTE\", { min: 0, max: 4 })\r\n public get vignetteWeight(): number {\r\n return this._frameGraphTask.postProcess.vignetteWeight;\r\n }\r\n\r\n public set vignetteWeight(value: number) {\r\n this._frameGraphTask.postProcess.vignetteWeight = value;\r\n }\r\n\r\n /** Vignette stretch size. */\r\n @editableInPropertyPage(\"Stretch\", PropertyTypeForEdition.Float, \"VIGNETTE\", { min: 0, max: 1 })\r\n public get vignetteStretch(): number {\r\n return this._frameGraphTask.postProcess.vignetteStretch;\r\n }\r\n\r\n public set vignetteStretch(value: number) {\r\n this._frameGraphTask.postProcess.vignetteStretch = value;\r\n }\r\n\r\n /** Camera field of view used by the Vignette effect. */\r\n @editableInPropertyPage(\"FOV\", PropertyTypeForEdition.Float, \"VIGNETTE\", { min: 0, max: 3.14159 })\r\n public get vignetteCameraFov(): number {\r\n return this._frameGraphTask.postProcess.vignetteCameraFov;\r\n }\r\n\r\n public set vignetteCameraFov(value: number) {\r\n this._frameGraphTask.postProcess.vignetteCameraFov = value;\r\n }\r\n\r\n /** Vignette center X Offset. */\r\n @editableInPropertyPage(\"Center X\", PropertyTypeForEdition.Float, \"VIGNETTE\", { min: 0, max: 1 })\r\n public get vignetteCenterX(): number {\r\n return this._frameGraphTask.postProcess.vignetteCenterX;\r\n }\r\n\r\n public set vignetteCenterX(value: number) {\r\n this._frameGraphTask.postProcess.vignetteCenterX = value;\r\n }\r\n\r\n /** Vignette center Y Offset. */\r\n @editableInPropertyPage(\"Center Y\", PropertyTypeForEdition.Float, \"VIGNETTE\", { min: 0, max: 1 })\r\n public get vignetteCenterY(): number {\r\n return this._frameGraphTask.postProcess.vignetteCenterY;\r\n }\r\n\r\n public set vignetteCenterY(value: number) {\r\n this._frameGraphTask.postProcess.vignetteCenterY = value;\r\n }\r\n\r\n /** Color of the vignette applied on the screen through the chosen blend mode (vignetteBlendMode) */\r\n @editableInPropertyPage(\"Color\", PropertyTypeForEdition.Color4, \"VIGNETTE\")\r\n public get vignetteColor(): Color4 {\r\n return this._frameGraphTask.postProcess.vignetteColor;\r\n }\r\n\r\n public set vignetteColor(value: Color4) {\r\n this._frameGraphTask.postProcess.vignetteColor = value;\r\n }\r\n\r\n /** Vignette blend mode allowing different kind of effect. */\r\n @editableInPropertyPage(\"Blend mode\", PropertyTypeForEdition.List, \"VIGNETTE\", {\r\n options: [\r\n { value: ImageProcessingConfiguration.VIGNETTEMODE_MULTIPLY, label: \"Multiply\" },\r\n { value: ImageProcessingConfiguration.VIGNETTEMODE_OPAQUE, label: \"Opaque\" },\r\n ],\r\n })\r\n public get vignetteBlendMode(): number {\r\n return this._frameGraphTask.postProcess.vignetteBlendMode;\r\n }\r\n\r\n public set vignetteBlendMode(value: number) {\r\n this._frameGraphTask.postProcess.vignetteBlendMode = value;\r\n }\r\n\r\n /** Whether the dithering effect is enabled. */\r\n @editableInPropertyPage(\"Enabed\", PropertyTypeForEdition.Boolean, \"DITHERING\")\r\n public get ditheringEnabled(): boolean {\r\n return this._frameGraphTask.postProcess.ditheringEnabled;\r\n }\r\n\r\n public set ditheringEnabled(value: boolean) {\r\n this._frameGraphTask.postProcess.ditheringEnabled = value;\r\n }\r\n\r\n /** Sets whether the dithering effect is enabled. */\r\n @editableInPropertyPage(\"Intensity\", PropertyTypeForEdition.Float, \"DITHERING\", { min: 0, max: 1 })\r\n public get ditheringIntensity(): number {\r\n return this._frameGraphTask.postProcess.ditheringIntensity;\r\n }\r\n\r\n public set ditheringIntensity(value: number) {\r\n this._frameGraphTask.postProcess.ditheringIntensity = value;\r\n }\r\n\r\n /**\r\n * Gets the current class name\r\n * @returns the class name\r\n */\r\n public override getClassName() {\r\n return \"NodeRenderGraphImageProcessingPostProcessBlock\";\r\n }\r\n\r\n protected override _dumpPropertiesCode() {\r\n const codes: string[] = [];\r\n codes.push(`${this._codeVariableName}.contrast = ${this.contrast};`);\r\n codes.push(`${this._codeVariableName}.exposure = ${this.exposure};`);\r\n codes.push(`${this._codeVariableName}.toneMappingEnabled = ${this.toneMappingEnabled};`);\r\n codes.push(`${this._codeVariableName}.toneMappingType = ${this.toneMappingType};`);\r\n codes.push(`${this._codeVariableName}.vignetteEnabled = ${this.vignetteEnabled};`);\r\n codes.push(`${this._codeVariableName}.vignetteWeight = ${this.vignetteWeight};`);\r\n codes.push(`${this._codeVariableName}.vignetteStretch = ${this.vignetteStretch};`);\r\n codes.push(`${this._codeVariableName}.vignetteCameraFov = ${this.vignetteCameraFov};`);\r\n codes.push(`${this._codeVariableName}.vignetteCenterX = ${this.vignetteCenterX};`);\r\n codes.push(`${this._codeVariableName}.vignetteCenterY = ${this.vignetteCenterY};`);\r\n codes.push(`${this._codeVariableName}.vignetteColor = new BABYLON.Color4(${this.vignetteColor.r}, ${this.vignetteColor.g}, ${this.vignetteColor.b}, 1);`);\r\n codes.push(`${this._codeVariableName}.vignetteBlendMode = ${this.vignetteBlendMode};`);\r\n codes.push(`${this._codeVariableName}.ditheringEnabled = ${this.ditheringEnabled};`);\r\n codes.push(`${this._codeVariableName}.ditheringIntensity = ${this.ditheringIntensity};`);\r\n return super._dumpPropertiesCode() + codes.join(\"\\n\");\r\n }\r\n\r\n public override serialize(): any {\r\n const serializationObject = super.serialize();\r\n serializationObject.contrast = this.contrast;\r\n serializationObject.exposure = this.exposure;\r\n serializationObject.toneMappingEnabled = this.toneMappingEnabled;\r\n serializationObject.toneMappingType = this.toneMappingType;\r\n serializationObject.vignetteEnabled = this.vignetteEnabled;\r\n serializationObject.vignetteWeight = this.vignetteWeight;\r\n serializationObject.vignetteStretch = this.vignetteStretch;\r\n serializationObject.vignetteCameraFov = this.vignetteCameraFov;\r\n serializationObject.vignetteCenterX = this.vignetteCenterX;\r\n serializationObject.vignetteCenterY = this.vignetteCenterY;\r\n serializationObject.vignetteColor = this.vignetteColor.asArray();\r\n serializationObject.vignetteBlendMode = this.vignetteBlendMode;\r\n serializationObject.ditheringEnabled = this.ditheringEnabled;\r\n serializationObject.ditheringIntensity = this.ditheringIntensity;\r\n return serializationObject;\r\n }\r\n\r\n public override _deserialize(serializationObject: any) {\r\n super._deserialize(serializationObject);\r\n this.contrast = serializationObject.contrast;\r\n this.exposure = serializationObject.exposure;\r\n this.toneMappingEnabled = serializationObject.toneMappingEnabled;\r\n this.toneMappingType = serializationObject.toneMappingType;\r\n this.vignetteEnabled = serializationObject.vignetteEnabled;\r\n this.vignetteWeight = serializationObject.vignetteWeight;\r\n this.vignetteStretch = serializationObject.vignetteStretch;\r\n this.vignetteCameraFov = serializationObject.vignetteCameraFov;\r\n this.vignetteCenterX = serializationObject.vignetteCenterX;\r\n this.vignetteCenterY = serializationObject.vignetteCenterY;\r\n this.vignetteColor = Color4.FromArray(serializationObject.vignetteColor);\r\n this.vignetteBlendMode = serializationObject.vignetteBlendMode;\r\n this.ditheringEnabled = serializationObject.ditheringEnabled;\r\n this.ditheringIntensity = serializationObject.ditheringIntensity;\r\n }\r\n}\r\n\r\nRegisterClass(\"BABYLON.NodeRenderGraphImageProcessingPostProcessBlock\", NodeRenderGraphImageProcessingPostProcessBlock);\r\n"]}
|
|
1
|
+
{"version":3,"file":"imageProcessingPostProcessBlock.js","sourceRoot":"","sources":["../../../../../../../dev/core/src/FrameGraph/Node/Blocks/PostProcesses/imageProcessingPostProcessBlock.ts"],"names":[],"mappings":"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","sourcesContent":["import type { Scene, FrameGraph } from \"core/index\";\r\nimport { RegisterClass } from \"../../../../Misc/typeStore\";\r\nimport { editableInPropertyPage, PropertyTypeForEdition } from \"../../../../Decorators/nodeDecorator\";\r\nimport { FrameGraphImageProcessingTask } from \"core/FrameGraph/Tasks/PostProcesses/imageProcessingTask\";\r\nimport { ThinImageProcessingPostProcess } from \"core/PostProcesses/thinImageProcessingPostProcess\";\r\nimport { ImageProcessingConfiguration } from \"core/Materials/imageProcessingConfiguration\";\r\nimport { Color4 } from \"../../../../Maths/math.color\";\r\nimport { NodeRenderGraphBaseWithPropertiesPostProcessBlock } from \"./baseWithPropertiesPostProcessBlock\";\r\n\r\n/**\r\n * Block that implements the image processing post process\r\n */\r\nexport class NodeRenderGraphImageProcessingPostProcessBlock extends NodeRenderGraphBaseWithPropertiesPostProcessBlock {\r\n protected override _frameGraphTask: FrameGraphImageProcessingTask;\r\n\r\n /**\r\n * Gets the frame graph task associated with this block\r\n */\r\n public override get task() {\r\n return this._frameGraphTask;\r\n }\r\n\r\n /**\r\n * Create a new image processing post process block\r\n * @param name defines the block name\r\n * @param frameGraph defines the hosting frame graph\r\n * @param scene defines the hosting scene\r\n */\r\n public constructor(name: string, frameGraph: FrameGraph, scene: Scene) {\r\n super(name, frameGraph, scene);\r\n\r\n this._finalizeInputOutputRegistering();\r\n\r\n this._frameGraphTask = new FrameGraphImageProcessingTask(\r\n this.name,\r\n frameGraph,\r\n new ThinImageProcessingPostProcess(name, scene.getEngine(), {\r\n scene,\r\n imageProcessingConfiguration: new ImageProcessingConfiguration(),\r\n })\r\n );\r\n }\r\n\r\n /** Contrast used in the effect */\r\n @editableInPropertyPage(\"Contrast\", PropertyTypeForEdition.Float, \"PROPERTIES\", { min: 0, max: 4 })\r\n public get contrast(): number {\r\n return this._frameGraphTask.postProcess.contrast;\r\n }\r\n\r\n public set contrast(value: number) {\r\n this._frameGraphTask.postProcess.contrast = value;\r\n }\r\n\r\n /** Exposure used in the effect */\r\n @editableInPropertyPage(\"Exposure\", PropertyTypeForEdition.Float, \"PROPERTIES\", { min: 0, max: 4 })\r\n public get exposure(): number {\r\n return this._frameGraphTask.postProcess.exposure;\r\n }\r\n\r\n public set exposure(value: number) {\r\n this._frameGraphTask.postProcess.exposure = value;\r\n }\r\n\r\n /** Whether the tone mapping effect is enabled. */\r\n @editableInPropertyPage(\"Enabled\", PropertyTypeForEdition.Boolean, \"TONE MAPPING\")\r\n public get toneMappingEnabled(): boolean {\r\n return this._frameGraphTask.postProcess.toneMappingEnabled;\r\n }\r\n\r\n public set toneMappingEnabled(value: boolean) {\r\n this._frameGraphTask.postProcess.toneMappingEnabled = value;\r\n }\r\n\r\n /** Type of tone mapping effect. */\r\n @editableInPropertyPage(\"Type\", PropertyTypeForEdition.List, \"TONE MAPPING\", {\r\n options: [\r\n { value: ImageProcessingConfiguration.TONEMAPPING_STANDARD, label: \"Standard\" },\r\n { value: ImageProcessingConfiguration.TONEMAPPING_ACES, label: \"ACES\" },\r\n { value: ImageProcessingConfiguration.TONEMAPPING_KHR_PBR_NEUTRAL, label: \"KHR PBR Neutral\" },\r\n ],\r\n })\r\n public get toneMappingType(): number {\r\n return this._frameGraphTask.postProcess.toneMappingType;\r\n }\r\n\r\n public set toneMappingType(value: number) {\r\n this._frameGraphTask.postProcess.toneMappingType = value;\r\n }\r\n\r\n /** Whether the vignette effect is enabled. */\r\n @editableInPropertyPage(\"Enabled\", PropertyTypeForEdition.Boolean, \"VIGNETTE\")\r\n public get vignetteEnabled(): boolean {\r\n return this._frameGraphTask.postProcess.vignetteEnabled;\r\n }\r\n\r\n public set vignetteEnabled(value: boolean) {\r\n this._frameGraphTask.postProcess.vignetteEnabled = value;\r\n }\r\n\r\n /** Vignette weight or intensity of the vignette effect. */\r\n @editableInPropertyPage(\"Weight\", PropertyTypeForEdition.Float, \"VIGNETTE\", { min: 0, max: 200 })\r\n public get vignetteWeight(): number {\r\n return this._frameGraphTask.postProcess.vignetteWeight;\r\n }\r\n\r\n public set vignetteWeight(value: number) {\r\n this._frameGraphTask.postProcess.vignetteWeight = value;\r\n }\r\n\r\n /** Vignette stretch size. */\r\n @editableInPropertyPage(\"Stretch\", PropertyTypeForEdition.Float, \"VIGNETTE\", { min: 0, max: 1 })\r\n public get vignetteStretch(): number {\r\n return this._frameGraphTask.postProcess.vignetteStretch;\r\n }\r\n\r\n public set vignetteStretch(value: number) {\r\n this._frameGraphTask.postProcess.vignetteStretch = value;\r\n }\r\n\r\n /** Camera field of view used by the Vignette effect. */\r\n @editableInPropertyPage(\"FOV\", PropertyTypeForEdition.Float, \"VIGNETTE\", { min: 0, max: 3.14159 })\r\n public get vignetteCameraFov(): number {\r\n return this._frameGraphTask.postProcess.vignetteCameraFov;\r\n }\r\n\r\n public set vignetteCameraFov(value: number) {\r\n this._frameGraphTask.postProcess.vignetteCameraFov = value;\r\n }\r\n\r\n /** Vignette center X Offset. */\r\n @editableInPropertyPage(\"Center X\", PropertyTypeForEdition.Float, \"VIGNETTE\", { min: 0, max: 1 })\r\n public get vignetteCenterX(): number {\r\n return this._frameGraphTask.postProcess.vignetteCenterX;\r\n }\r\n\r\n public set vignetteCenterX(value: number) {\r\n this._frameGraphTask.postProcess.vignetteCenterX = value;\r\n }\r\n\r\n /** Vignette center Y Offset. */\r\n @editableInPropertyPage(\"Center Y\", PropertyTypeForEdition.Float, \"VIGNETTE\", { min: 0, max: 1 })\r\n public get vignetteCenterY(): number {\r\n return this._frameGraphTask.postProcess.vignetteCenterY;\r\n }\r\n\r\n public set vignetteCenterY(value: number) {\r\n this._frameGraphTask.postProcess.vignetteCenterY = value;\r\n }\r\n\r\n /** Color of the vignette applied on the screen through the chosen blend mode (vignetteBlendMode) */\r\n @editableInPropertyPage(\"Color\", PropertyTypeForEdition.Color4, \"VIGNETTE\")\r\n public get vignetteColor(): Color4 {\r\n return this._frameGraphTask.postProcess.vignetteColor;\r\n }\r\n\r\n public set vignetteColor(value: Color4) {\r\n this._frameGraphTask.postProcess.vignetteColor = value;\r\n }\r\n\r\n /** Vignette blend mode allowing different kind of effect. */\r\n @editableInPropertyPage(\"Blend mode\", PropertyTypeForEdition.List, \"VIGNETTE\", {\r\n options: [\r\n { value: ImageProcessingConfiguration.VIGNETTEMODE_MULTIPLY, label: \"Multiply\" },\r\n { value: ImageProcessingConfiguration.VIGNETTEMODE_OPAQUE, label: \"Opaque\" },\r\n ],\r\n })\r\n public get vignetteBlendMode(): number {\r\n return this._frameGraphTask.postProcess.vignetteBlendMode;\r\n }\r\n\r\n public set vignetteBlendMode(value: number) {\r\n this._frameGraphTask.postProcess.vignetteBlendMode = value;\r\n }\r\n\r\n /** Whether the dithering effect is enabled. */\r\n @editableInPropertyPage(\"Enabed\", PropertyTypeForEdition.Boolean, \"DITHERING\")\r\n public get ditheringEnabled(): boolean {\r\n return this._frameGraphTask.postProcess.ditheringEnabled;\r\n }\r\n\r\n public set ditheringEnabled(value: boolean) {\r\n this._frameGraphTask.postProcess.ditheringEnabled = value;\r\n }\r\n\r\n /** Sets whether the dithering effect is enabled. */\r\n @editableInPropertyPage(\"Intensity\", PropertyTypeForEdition.Float, \"DITHERING\", { min: 0, max: 1 })\r\n public get ditheringIntensity(): number {\r\n return this._frameGraphTask.postProcess.ditheringIntensity;\r\n }\r\n\r\n public set ditheringIntensity(value: number) {\r\n this._frameGraphTask.postProcess.ditheringIntensity = value;\r\n }\r\n\r\n /**\r\n * Gets the current class name\r\n * @returns the class name\r\n */\r\n public override getClassName() {\r\n return \"NodeRenderGraphImageProcessingPostProcessBlock\";\r\n }\r\n\r\n protected override _dumpPropertiesCode() {\r\n const codes: string[] = [];\r\n codes.push(`${this._codeVariableName}.contrast = ${this.contrast};`);\r\n codes.push(`${this._codeVariableName}.exposure = ${this.exposure};`);\r\n codes.push(`${this._codeVariableName}.toneMappingEnabled = ${this.toneMappingEnabled};`);\r\n codes.push(`${this._codeVariableName}.toneMappingType = ${this.toneMappingType};`);\r\n codes.push(`${this._codeVariableName}.vignetteEnabled = ${this.vignetteEnabled};`);\r\n codes.push(`${this._codeVariableName}.vignetteWeight = ${this.vignetteWeight};`);\r\n codes.push(`${this._codeVariableName}.vignetteStretch = ${this.vignetteStretch};`);\r\n codes.push(`${this._codeVariableName}.vignetteCameraFov = ${this.vignetteCameraFov};`);\r\n codes.push(`${this._codeVariableName}.vignetteCenterX = ${this.vignetteCenterX};`);\r\n codes.push(`${this._codeVariableName}.vignetteCenterY = ${this.vignetteCenterY};`);\r\n codes.push(`${this._codeVariableName}.vignetteColor = new BABYLON.Color4(${this.vignetteColor.r}, ${this.vignetteColor.g}, ${this.vignetteColor.b}, 1);`);\r\n codes.push(`${this._codeVariableName}.vignetteBlendMode = ${this.vignetteBlendMode};`);\r\n codes.push(`${this._codeVariableName}.ditheringEnabled = ${this.ditheringEnabled};`);\r\n codes.push(`${this._codeVariableName}.ditheringIntensity = ${this.ditheringIntensity};`);\r\n return super._dumpPropertiesCode() + codes.join(\"\\n\");\r\n }\r\n\r\n public override serialize(): any {\r\n const serializationObject = super.serialize();\r\n serializationObject.contrast = this.contrast;\r\n serializationObject.exposure = this.exposure;\r\n serializationObject.toneMappingEnabled = this.toneMappingEnabled;\r\n serializationObject.toneMappingType = this.toneMappingType;\r\n serializationObject.vignetteEnabled = this.vignetteEnabled;\r\n serializationObject.vignetteWeight = this.vignetteWeight;\r\n serializationObject.vignetteStretch = this.vignetteStretch;\r\n serializationObject.vignetteCameraFov = this.vignetteCameraFov;\r\n serializationObject.vignetteCenterX = this.vignetteCenterX;\r\n serializationObject.vignetteCenterY = this.vignetteCenterY;\r\n serializationObject.vignetteColor = this.vignetteColor.asArray();\r\n serializationObject.vignetteBlendMode = this.vignetteBlendMode;\r\n serializationObject.ditheringEnabled = this.ditheringEnabled;\r\n serializationObject.ditheringIntensity = this.ditheringIntensity;\r\n return serializationObject;\r\n }\r\n\r\n public override _deserialize(serializationObject: any) {\r\n super._deserialize(serializationObject);\r\n this.contrast = serializationObject.contrast;\r\n this.exposure = serializationObject.exposure;\r\n this.toneMappingEnabled = serializationObject.toneMappingEnabled;\r\n this.toneMappingType = serializationObject.toneMappingType;\r\n this.vignetteEnabled = serializationObject.vignetteEnabled;\r\n this.vignetteWeight = serializationObject.vignetteWeight;\r\n this.vignetteStretch = serializationObject.vignetteStretch;\r\n this.vignetteCameraFov = serializationObject.vignetteCameraFov;\r\n this.vignetteCenterX = serializationObject.vignetteCenterX;\r\n this.vignetteCenterY = serializationObject.vignetteCenterY;\r\n this.vignetteColor = Color4.FromArray(serializationObject.vignetteColor);\r\n this.vignetteBlendMode = serializationObject.vignetteBlendMode;\r\n this.ditheringEnabled = serializationObject.ditheringEnabled;\r\n this.ditheringIntensity = serializationObject.ditheringIntensity;\r\n }\r\n}\r\n\r\nRegisterClass(\"BABYLON.NodeRenderGraphImageProcessingPostProcessBlock\", NodeRenderGraphImageProcessingPostProcessBlock);\r\n"]}
|
|
@@ -1,10 +1,10 @@
|
|
|
1
1
|
import type { NodeRenderGraphConnectionPoint, Scene, NodeRenderGraphBuildState, FrameGraph } from "../../../../index.js";
|
|
2
2
|
import { FrameGraphMotionBlurTask } from "../../../Tasks/PostProcesses/motionBlurTask.js";
|
|
3
|
-
import {
|
|
3
|
+
import { NodeRenderGraphBaseWithPropertiesPostProcessBlock } from "./baseWithPropertiesPostProcessBlock.js";
|
|
4
4
|
/**
|
|
5
5
|
* Block that implements the motion blur post process
|
|
6
6
|
*/
|
|
7
|
-
export declare class NodeRenderGraphMotionBlurPostProcessBlock extends
|
|
7
|
+
export declare class NodeRenderGraphMotionBlurPostProcessBlock extends NodeRenderGraphBaseWithPropertiesPostProcessBlock {
|
|
8
8
|
protected _frameGraphTask: FrameGraphMotionBlurTask;
|
|
9
9
|
/**
|
|
10
10
|
* Gets the frame graph task associated with this block
|
|
@@ -4,11 +4,11 @@ import { NodeRenderGraphBlockConnectionPointTypes } from "../../Types/nodeRender
|
|
|
4
4
|
import { editableInPropertyPage } from "../../../../Decorators/nodeDecorator.js";
|
|
5
5
|
import { FrameGraphMotionBlurTask } from "../../../Tasks/PostProcesses/motionBlurTask.js";
|
|
6
6
|
import { ThinMotionBlurPostProcess } from "../../../../PostProcesses/thinMotionBlurPostProcess.js";
|
|
7
|
-
import {
|
|
7
|
+
import { NodeRenderGraphBaseWithPropertiesPostProcessBlock } from "./baseWithPropertiesPostProcessBlock.js";
|
|
8
8
|
/**
|
|
9
9
|
* Block that implements the motion blur post process
|
|
10
10
|
*/
|
|
11
|
-
export class NodeRenderGraphMotionBlurPostProcessBlock extends
|
|
11
|
+
export class NodeRenderGraphMotionBlurPostProcessBlock extends NodeRenderGraphBaseWithPropertiesPostProcessBlock {
|
|
12
12
|
/**
|
|
13
13
|
* Gets the frame graph task associated with this block
|
|
14
14
|
*/
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"motionBlurPostProcessBlock.js","sourceRoot":"","sources":["../../../../../../../dev/core/src/FrameGraph/Node/Blocks/PostProcesses/motionBlurPostProcessBlock.ts"],"names":[],"mappings":";AACA,OAAO,EAAE,aAAa,EAAE,MAAM,4BAA4B,CAAC;AAC3D,OAAO,EAAE,wCAAwC,EAAE,MAAM,kCAAkC,CAAC;AAC5F,OAAO,EAAE,sBAAsB,EAA0B,MAAM,sCAAsC,CAAC;AACtG,OAAO,EAAE,wBAAwB,EAAE,uDAA2D;AAC9F,OAAO,EAAE,yBAAyB,EAAE,+DAAqD;AACzF,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"motionBlurPostProcessBlock.js","sourceRoot":"","sources":["../../../../../../../dev/core/src/FrameGraph/Node/Blocks/PostProcesses/motionBlurPostProcessBlock.ts"],"names":[],"mappings":"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","sourcesContent":["import type { NodeRenderGraphConnectionPoint, Scene, NodeRenderGraphBuildState, FrameGraphTextureHandle, FrameGraph } from \"core/index\";\r\nimport { RegisterClass } from \"../../../../Misc/typeStore\";\r\nimport { NodeRenderGraphBlockConnectionPointTypes } from \"../../Types/nodeRenderGraphTypes\";\r\nimport { editableInPropertyPage, PropertyTypeForEdition } from \"../../../../Decorators/nodeDecorator\";\r\nimport { FrameGraphMotionBlurTask } from \"core/FrameGraph/Tasks/PostProcesses/motionBlurTask\";\r\nimport { ThinMotionBlurPostProcess } from \"core/PostProcesses/thinMotionBlurPostProcess\";\r\nimport { NodeRenderGraphBaseWithPropertiesPostProcessBlock } from \"./baseWithPropertiesPostProcessBlock\";\r\n\r\n/**\r\n * Block that implements the motion blur post process\r\n */\r\nexport class NodeRenderGraphMotionBlurPostProcessBlock extends NodeRenderGraphBaseWithPropertiesPostProcessBlock {\r\n protected override _frameGraphTask: FrameGraphMotionBlurTask;\r\n\r\n /**\r\n * Gets the frame graph task associated with this block\r\n */\r\n public override get task() {\r\n return this._frameGraphTask;\r\n }\r\n\r\n /**\r\n * Create a new NodeRenderGraphMotionBlurPostProcessBlock\r\n * @param name defines the block name\r\n * @param frameGraph defines the hosting frame graph\r\n * @param scene defines the hosting scene\r\n */\r\n public constructor(name: string, frameGraph: FrameGraph, scene: Scene) {\r\n super(name, frameGraph, scene);\r\n\r\n this.registerInput(\"geomVelocity\", NodeRenderGraphBlockConnectionPointTypes.TextureVelocity, true);\r\n this.registerInput(\"geomViewDepth\", NodeRenderGraphBlockConnectionPointTypes.TextureViewDepth, true);\r\n\r\n this._finalizeInputOutputRegistering();\r\n\r\n this._frameGraphTask = new FrameGraphMotionBlurTask(this.name, frameGraph, new ThinMotionBlurPostProcess(name, frameGraph.scene));\r\n }\r\n\r\n /** Defines how much the image is blurred by the movement. */\r\n @editableInPropertyPage(\"Strength\", PropertyTypeForEdition.Float, \"PROPERTIES\")\r\n public get motionStrength(): number {\r\n return this._frameGraphTask.postProcess.motionStrength;\r\n }\r\n\r\n public set motionStrength(value: number) {\r\n this._frameGraphTask.postProcess.motionStrength = value;\r\n }\r\n\r\n /** Gets the number of iterations that are used for motion blur quality. */\r\n @editableInPropertyPage(\"Samples\", PropertyTypeForEdition.Float, \"PROPERTIES\")\r\n public get motionBlurSamples(): number {\r\n return this._frameGraphTask.postProcess.motionBlurSamples;\r\n }\r\n\r\n public set motionBlurSamples(value: number) {\r\n this._frameGraphTask.postProcess.motionBlurSamples = value;\r\n }\r\n\r\n /** Gets whether or not the motion blur post-process is in object based mode. */\r\n @editableInPropertyPage(\"Object based\", PropertyTypeForEdition.Boolean, \"PROPERTIES\")\r\n public get isObjectBased(): boolean {\r\n return this._frameGraphTask.postProcess.isObjectBased;\r\n }\r\n\r\n public set isObjectBased(value: boolean) {\r\n this._frameGraphTask.postProcess.isObjectBased = value;\r\n }\r\n\r\n /**\r\n * Gets the current class name\r\n * @returns the class name\r\n */\r\n public override getClassName() {\r\n return \"NodeRenderGraphMotionBlurPostProcessBlock\";\r\n }\r\n\r\n /**\r\n * Gets the geometry velocity input component\r\n */\r\n public get geomVelocity(): NodeRenderGraphConnectionPoint {\r\n return this._inputs[2];\r\n }\r\n\r\n /**\r\n * Gets the geometry view depth input component\r\n */\r\n public get geomViewDepth(): NodeRenderGraphConnectionPoint {\r\n return this._inputs[3];\r\n }\r\n\r\n protected override _buildBlock(state: NodeRenderGraphBuildState) {\r\n super._buildBlock(state);\r\n\r\n this._frameGraphTask.velocityTexture = this.geomVelocity.connectedPoint?.value as FrameGraphTextureHandle;\r\n this._frameGraphTask.depthTexture = this.geomViewDepth.connectedPoint?.value as FrameGraphTextureHandle;\r\n }\r\n\r\n protected override _dumpPropertiesCode() {\r\n const codes: string[] = [];\r\n codes.push(`${this._codeVariableName}.motionStrength = ${this.motionStrength};`);\r\n codes.push(`${this._codeVariableName}.motionBlurSamples = ${this.motionBlurSamples};`);\r\n codes.push(`${this._codeVariableName}.isObjectBased = ${this.isObjectBased};`);\r\n return super._dumpPropertiesCode() + codes.join(\"\\n\");\r\n }\r\n\r\n public override serialize(): any {\r\n const serializationObject = super.serialize();\r\n serializationObject.motionStrength = this.motionStrength;\r\n serializationObject.motionBlurSamples = this.motionBlurSamples;\r\n serializationObject.isObjectBased = this.isObjectBased;\r\n return serializationObject;\r\n }\r\n\r\n public override _deserialize(serializationObject: any) {\r\n super._deserialize(serializationObject);\r\n this.motionStrength = serializationObject.motionStrength;\r\n this.motionBlurSamples = serializationObject.motionBlurSamples;\r\n this.isObjectBased = serializationObject.isObjectBased;\r\n }\r\n}\r\n\r\nRegisterClass(\"BABYLON.NodeRenderGraphMotionBlurPostProcessBlock\", NodeRenderGraphMotionBlurPostProcessBlock);\r\n"]}
|
|
@@ -1,10 +1,10 @@
|
|
|
1
1
|
import type { Scene, FrameGraph } from "../../../../index.js";
|
|
2
2
|
import { FrameGraphPassCubeTask, FrameGraphPassTask } from "../../../Tasks/PostProcesses/passTask.js";
|
|
3
|
-
import {
|
|
3
|
+
import { NodeRenderGraphBaseWithPropertiesPostProcessBlock } from "././baseWithPropertiesPostProcessBlock.js";
|
|
4
4
|
/**
|
|
5
5
|
* Block that implements the pass post process
|
|
6
6
|
*/
|
|
7
|
-
export declare class NodeRenderGraphPassPostProcessBlock extends
|
|
7
|
+
export declare class NodeRenderGraphPassPostProcessBlock extends NodeRenderGraphBaseWithPropertiesPostProcessBlock {
|
|
8
8
|
protected _frameGraphTask: FrameGraphPassTask;
|
|
9
9
|
/**
|
|
10
10
|
* Gets the frame graph task associated with this block
|
|
@@ -26,7 +26,7 @@ export declare class NodeRenderGraphPassPostProcessBlock extends NodeRenderGraph
|
|
|
26
26
|
/**
|
|
27
27
|
* Block that implements the pass cube post process
|
|
28
28
|
*/
|
|
29
|
-
export declare class NodeRenderGraphPassCubePostProcessBlock extends
|
|
29
|
+
export declare class NodeRenderGraphPassCubePostProcessBlock extends NodeRenderGraphBaseWithPropertiesPostProcessBlock {
|
|
30
30
|
protected _frameGraphTask: FrameGraphPassCubeTask;
|
|
31
31
|
/**
|
|
32
32
|
* Gets the frame graph task associated with this block
|