@onerjs/core 8.27.8 → 8.27.10
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/Behaviors/Meshes/pointerDragBehavior.d.ts +10 -0
- package/Behaviors/Meshes/pointerDragBehavior.js +33 -3
- package/Behaviors/Meshes/pointerDragBehavior.js.map +1 -1
- package/Engines/abstractEngine.js +2 -2
- package/Engines/abstractEngine.js.map +1 -1
- package/FrameGraph/Node/Blocks/PostProcesses/convolutionPostProcessBlock.d.ts +30 -0
- package/FrameGraph/Node/Blocks/PostProcesses/convolutionPostProcessBlock.js +105 -0
- package/FrameGraph/Node/Blocks/PostProcesses/convolutionPostProcessBlock.js.map +1 -0
- package/FrameGraph/Node/Blocks/index.d.ts +1 -0
- package/FrameGraph/Node/Blocks/index.js +1 -0
- package/FrameGraph/Node/Blocks/index.js.map +1 -1
- package/FrameGraph/Tasks/PostProcesses/convolutionTask.d.ts +17 -0
- package/FrameGraph/Tasks/PostProcesses/convolutionTask.js +23 -0
- package/FrameGraph/Tasks/PostProcesses/convolutionTask.js.map +1 -0
- package/FrameGraph/index.d.ts +1 -0
- package/FrameGraph/index.js +1 -0
- package/FrameGraph/index.js.map +1 -1
- package/Materials/Background/backgroundMaterial.js +1 -1
- package/Materials/Background/backgroundMaterial.js.map +1 -1
- package/Materials/materialHelper.functions.d.ts +2 -1
- package/Materials/materialHelper.functions.js +3 -2
- package/Materials/materialHelper.functions.js.map +1 -1
- package/Materials/standardMaterial.js +1 -1
- package/Materials/standardMaterial.js.map +1 -1
- package/PostProcesses/convolutionPostProcess.d.ts +4 -2
- package/PostProcesses/convolutionPostProcess.js +32 -22
- package/PostProcesses/convolutionPostProcess.js.map +1 -1
- package/PostProcesses/index.d.ts +1 -0
- package/PostProcesses/index.js +1 -0
- package/PostProcesses/index.js.map +1 -1
- package/PostProcesses/thinConvolutionPostProcess.d.ts +59 -0
- package/PostProcesses/thinConvolutionPostProcess.js +83 -0
- package/PostProcesses/thinConvolutionPostProcess.js.map +1 -0
- package/package.json +1 -1
|
@@ -4,6 +4,7 @@ import type { Nullable } from "../types.js";
|
|
|
4
4
|
import type { Camera } from "../Cameras/camera.js";
|
|
5
5
|
import type { AbstractEngine } from "../Engines/abstractEngine.js";
|
|
6
6
|
import type { Scene } from "../scene.js";
|
|
7
|
+
import { ThinConvolutionPostProcess } from "./thinConvolutionPostProcess.js";
|
|
7
8
|
/**
|
|
8
9
|
* The ConvolutionPostProcess applies a 3x3 kernel to every pixel of the
|
|
9
10
|
* input texture to perform effects such as edge detection or sharpening
|
|
@@ -11,12 +12,14 @@ import type { Scene } from "../scene.js";
|
|
|
11
12
|
*/
|
|
12
13
|
export declare class ConvolutionPostProcess extends PostProcess {
|
|
13
14
|
/** Array of 9 values corresponding to the 3x3 kernel to be applied */
|
|
14
|
-
kernel: number[];
|
|
15
|
+
get kernel(): number[];
|
|
16
|
+
set kernel(value: number[]);
|
|
15
17
|
/**
|
|
16
18
|
* Gets a string identifying the name of the class
|
|
17
19
|
* @returns "ConvolutionPostProcess" string
|
|
18
20
|
*/
|
|
19
21
|
getClassName(): string;
|
|
22
|
+
protected _effectWrapper: ThinConvolutionPostProcess;
|
|
20
23
|
/**
|
|
21
24
|
* Creates a new instance ConvolutionPostProcess
|
|
22
25
|
* @param name The name of the effect.
|
|
@@ -29,7 +32,6 @@ export declare class ConvolutionPostProcess extends PostProcess {
|
|
|
29
32
|
* @param textureType Type of textures used when performing the post process. (default: 0)
|
|
30
33
|
*/
|
|
31
34
|
constructor(name: string, kernel: number[], options: number | PostProcessOptions, camera: Nullable<Camera>, samplingMode?: number, engine?: AbstractEngine, reusable?: boolean, textureType?: number);
|
|
32
|
-
protected _gatherImports(useWebGPU: boolean, list: Promise<any>[]): void;
|
|
33
35
|
/**
|
|
34
36
|
* @internal
|
|
35
37
|
*/
|
|
@@ -4,12 +4,20 @@ import { PostProcess } from "./postProcess.js";
|
|
|
4
4
|
import { RegisterClass } from "../Misc/typeStore.js";
|
|
5
5
|
import { serialize } from "../Misc/decorators.js";
|
|
6
6
|
import { SerializationHelper } from "../Misc/decorators.serialization.js";
|
|
7
|
+
import { ThinConvolutionPostProcess } from "./thinConvolutionPostProcess.js";
|
|
7
8
|
/**
|
|
8
9
|
* The ConvolutionPostProcess applies a 3x3 kernel to every pixel of the
|
|
9
10
|
* input texture to perform effects such as edge detection or sharpening
|
|
10
11
|
* See http://en.wikipedia.org/wiki/Kernel_(image_processing)
|
|
11
12
|
*/
|
|
12
13
|
export class ConvolutionPostProcess extends PostProcess {
|
|
14
|
+
/** Array of 9 values corresponding to the 3x3 kernel to be applied */
|
|
15
|
+
get kernel() {
|
|
16
|
+
return this._effectWrapper.kernel;
|
|
17
|
+
}
|
|
18
|
+
set kernel(value) {
|
|
19
|
+
this._effectWrapper.kernel = value;
|
|
20
|
+
}
|
|
13
21
|
/**
|
|
14
22
|
* Gets a string identifying the name of the class
|
|
15
23
|
* @returns "ConvolutionPostProcess" string
|
|
@@ -29,22 +37,24 @@ export class ConvolutionPostProcess extends PostProcess {
|
|
|
29
37
|
* @param textureType Type of textures used when performing the post process. (default: 0)
|
|
30
38
|
*/
|
|
31
39
|
constructor(name, kernel, options, camera, samplingMode, engine, reusable, textureType = 0) {
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
40
|
+
const localOptions = {
|
|
41
|
+
uniforms: ThinConvolutionPostProcess.Uniforms,
|
|
42
|
+
size: typeof options === "number" ? options : undefined,
|
|
43
|
+
camera,
|
|
44
|
+
samplingMode,
|
|
45
|
+
engine,
|
|
46
|
+
reusable,
|
|
47
|
+
textureType,
|
|
48
|
+
...options,
|
|
49
|
+
};
|
|
50
|
+
super(name, ThinConvolutionPostProcess.FragmentUrl, {
|
|
51
|
+
effectWrapper: typeof options === "number" || !options.effectWrapper ? new ThinConvolutionPostProcess(name, engine, kernel, localOptions) : undefined,
|
|
52
|
+
...localOptions,
|
|
53
|
+
});
|
|
54
|
+
this.onApply = (_effect) => {
|
|
55
|
+
this._effectWrapper.textureWidth = this.width;
|
|
56
|
+
this._effectWrapper.textureHeight = this.height;
|
|
37
57
|
};
|
|
38
|
-
}
|
|
39
|
-
_gatherImports(useWebGPU, list) {
|
|
40
|
-
if (useWebGPU) {
|
|
41
|
-
this._webGPUReady = true;
|
|
42
|
-
list.push(Promise.all([import("../ShadersWGSL/convolution.fragment.js")]));
|
|
43
|
-
}
|
|
44
|
-
else {
|
|
45
|
-
list.push(Promise.all([import("../Shaders/convolution.fragment.js")]));
|
|
46
|
-
}
|
|
47
|
-
super._gatherImports(useWebGPU, list);
|
|
48
58
|
}
|
|
49
59
|
/**
|
|
50
60
|
* @internal
|
|
@@ -59,29 +69,29 @@ export class ConvolutionPostProcess extends PostProcess {
|
|
|
59
69
|
/**
|
|
60
70
|
* Edge detection 0 see https://en.wikipedia.org/wiki/Kernel_(image_processing)
|
|
61
71
|
*/
|
|
62
|
-
ConvolutionPostProcess.EdgeDetect0Kernel =
|
|
72
|
+
ConvolutionPostProcess.EdgeDetect0Kernel = ThinConvolutionPostProcess.EdgeDetect0Kernel;
|
|
63
73
|
/**
|
|
64
74
|
* Edge detection 1 see https://en.wikipedia.org/wiki/Kernel_(image_processing)
|
|
65
75
|
*/
|
|
66
|
-
ConvolutionPostProcess.EdgeDetect1Kernel =
|
|
76
|
+
ConvolutionPostProcess.EdgeDetect1Kernel = ThinConvolutionPostProcess.EdgeDetect1Kernel;
|
|
67
77
|
/**
|
|
68
78
|
* Edge detection 2 see https://en.wikipedia.org/wiki/Kernel_(image_processing)
|
|
69
79
|
*/
|
|
70
|
-
ConvolutionPostProcess.EdgeDetect2Kernel =
|
|
80
|
+
ConvolutionPostProcess.EdgeDetect2Kernel = ThinConvolutionPostProcess.EdgeDetect2Kernel;
|
|
71
81
|
/**
|
|
72
82
|
* Kernel to sharpen an image see https://en.wikipedia.org/wiki/Kernel_(image_processing)
|
|
73
83
|
*/
|
|
74
|
-
ConvolutionPostProcess.SharpenKernel =
|
|
84
|
+
ConvolutionPostProcess.SharpenKernel = ThinConvolutionPostProcess.SharpenKernel;
|
|
75
85
|
/**
|
|
76
86
|
* Kernel to emboss an image see https://en.wikipedia.org/wiki/Kernel_(image_processing)
|
|
77
87
|
*/
|
|
78
|
-
ConvolutionPostProcess.EmbossKernel =
|
|
88
|
+
ConvolutionPostProcess.EmbossKernel = ThinConvolutionPostProcess.EmbossKernel;
|
|
79
89
|
/**
|
|
80
90
|
* Kernel to blur an image see https://en.wikipedia.org/wiki/Kernel_(image_processing)
|
|
81
91
|
*/
|
|
82
|
-
ConvolutionPostProcess.GaussianKernel =
|
|
92
|
+
ConvolutionPostProcess.GaussianKernel = ThinConvolutionPostProcess.GaussianKernel;
|
|
83
93
|
__decorate([
|
|
84
94
|
serialize()
|
|
85
|
-
], ConvolutionPostProcess.prototype, "kernel",
|
|
95
|
+
], ConvolutionPostProcess.prototype, "kernel", null);
|
|
86
96
|
RegisterClass("BABYLON.ConvolutionPostProcess", ConvolutionPostProcess);
|
|
87
97
|
//# sourceMappingURL=convolutionPostProcess.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"convolutionPostProcess.js","sourceRoot":"","sources":["../../../../dev/core/src/PostProcesses/convolutionPostProcess.ts"],"names":[],"mappings":";AACA,OAAO,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AAK5C,OAAO,EAAE,SAAS,EAAE,MAAM,sBAAsB,CAAC;AAEjD,OAAO,EAAE,aAAa,EAAE,MAAM,mBAAmB,CAAC;AAClD,OAAO,EAAE,SAAS,EAAE,MAAM,oBAAoB,CAAC;AAC/C,OAAO,EAAE,mBAAmB,EAAE,MAAM,kCAAkC,CAAC;
|
|
1
|
+
{"version":3,"file":"convolutionPostProcess.js","sourceRoot":"","sources":["../../../../dev/core/src/PostProcesses/convolutionPostProcess.ts"],"names":[],"mappings":"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","sourcesContent":["import type { PostProcessOptions } from \"./postProcess\";\r\nimport { PostProcess } from \"./postProcess\";\r\nimport type { Nullable } from \"../types\";\r\nimport type { Camera } from \"../Cameras/camera\";\r\nimport type { AbstractEngine } from \"../Engines/abstractEngine\";\r\nimport type { Effect } from \"../Materials/effect\";\r\nimport { Constants } from \"../Engines/constants\";\r\n\r\nimport { RegisterClass } from \"../Misc/typeStore\";\r\nimport { serialize } from \"../Misc/decorators\";\r\nimport { SerializationHelper } from \"../Misc/decorators.serialization\";\r\n\r\nimport type { Scene } from \"../scene\";\r\nimport { ThinConvolutionPostProcess } from \"./thinConvolutionPostProcess\";\r\n\r\n/**\r\n * The ConvolutionPostProcess applies a 3x3 kernel to every pixel of the\r\n * input texture to perform effects such as edge detection or sharpening\r\n * See http://en.wikipedia.org/wiki/Kernel_(image_processing)\r\n */\r\nexport class ConvolutionPostProcess extends PostProcess {\r\n /** Array of 9 values corresponding to the 3x3 kernel to be applied */\r\n @serialize()\r\n public get kernel() {\r\n return this._effectWrapper.kernel;\r\n }\r\n\r\n public set kernel(value: number[]) {\r\n this._effectWrapper.kernel = value;\r\n }\r\n\r\n /**\r\n * Gets a string identifying the name of the class\r\n * @returns \"ConvolutionPostProcess\" string\r\n */\r\n public override getClassName(): string {\r\n return \"ConvolutionPostProcess\";\r\n }\r\n\r\n protected override _effectWrapper: ThinConvolutionPostProcess;\r\n\r\n /**\r\n * Creates a new instance ConvolutionPostProcess\r\n * @param name The name of the effect.\r\n * @param kernel Array of 9 values corresponding to the 3x3 kernel to be applied\r\n * @param options The required width/height ratio to downsize to before computing the render pass.\r\n * @param camera The camera to apply the render pass to.\r\n * @param samplingMode The sampling mode to be used when computing the pass. (default: 0)\r\n * @param engine The engine which the post process will be applied. (default: current engine)\r\n * @param reusable If the post process can be reused on the same frame. (default: false)\r\n * @param textureType Type of textures used when performing the post process. (default: 0)\r\n */\r\n constructor(\r\n name: string,\r\n kernel: number[],\r\n options: number | PostProcessOptions,\r\n camera: Nullable<Camera>,\r\n samplingMode?: number,\r\n engine?: AbstractEngine,\r\n reusable?: boolean,\r\n textureType: number = Constants.TEXTURETYPE_UNSIGNED_BYTE\r\n ) {\r\n const localOptions = {\r\n uniforms: ThinConvolutionPostProcess.Uniforms,\r\n size: typeof options === \"number\" ? options : undefined,\r\n camera,\r\n samplingMode,\r\n engine,\r\n reusable,\r\n textureType,\r\n ...(options as PostProcessOptions),\r\n };\r\n\r\n super(name, ThinConvolutionPostProcess.FragmentUrl, {\r\n effectWrapper: typeof options === \"number\" || !options.effectWrapper ? new ThinConvolutionPostProcess(name, engine, kernel, localOptions) : undefined,\r\n ...localOptions,\r\n });\r\n\r\n this.onApply = (_effect: Effect) => {\r\n this._effectWrapper.textureWidth = this.width;\r\n this._effectWrapper.textureHeight = this.height;\r\n };\r\n }\r\n\r\n /**\r\n * @internal\r\n */\r\n public static override _Parse(parsedPostProcess: any, targetCamera: Camera, scene: Scene, rootUrl: string): Nullable<ConvolutionPostProcess> {\r\n return SerializationHelper.Parse(\r\n () => {\r\n return new ConvolutionPostProcess(\r\n parsedPostProcess.name,\r\n parsedPostProcess.kernel,\r\n parsedPostProcess.options,\r\n targetCamera,\r\n parsedPostProcess.renderTargetSamplingMode,\r\n scene.getEngine(),\r\n parsedPostProcess.reusable,\r\n parsedPostProcess.textureType\r\n );\r\n },\r\n parsedPostProcess,\r\n scene,\r\n rootUrl\r\n );\r\n }\r\n\r\n // Statics\r\n /**\r\n * Edge detection 0 see https://en.wikipedia.org/wiki/Kernel_(image_processing)\r\n */\r\n public static EdgeDetect0Kernel = ThinConvolutionPostProcess.EdgeDetect0Kernel;\r\n /**\r\n * Edge detection 1 see https://en.wikipedia.org/wiki/Kernel_(image_processing)\r\n */\r\n public static EdgeDetect1Kernel = ThinConvolutionPostProcess.EdgeDetect1Kernel;\r\n /**\r\n * Edge detection 2 see https://en.wikipedia.org/wiki/Kernel_(image_processing)\r\n */\r\n public static EdgeDetect2Kernel = ThinConvolutionPostProcess.EdgeDetect2Kernel;\r\n /**\r\n * Kernel to sharpen an image see https://en.wikipedia.org/wiki/Kernel_(image_processing)\r\n */\r\n public static SharpenKernel = ThinConvolutionPostProcess.SharpenKernel;\r\n /**\r\n * Kernel to emboss an image see https://en.wikipedia.org/wiki/Kernel_(image_processing)\r\n */\r\n public static EmbossKernel = ThinConvolutionPostProcess.EmbossKernel;\r\n /**\r\n * Kernel to blur an image see https://en.wikipedia.org/wiki/Kernel_(image_processing)\r\n */\r\n public static GaussianKernel = ThinConvolutionPostProcess.GaussianKernel;\r\n}\r\n\r\nRegisterClass(\"BABYLON.ConvolutionPostProcess\", ConvolutionPostProcess);\r\n"]}
|
package/PostProcesses/index.d.ts
CHANGED
|
@@ -37,6 +37,7 @@ export * from "./thinBloomEffect.js";
|
|
|
37
37
|
export * from "./thinBlurPostProcess.js";
|
|
38
38
|
export * from "./thinChromaticAberrationPostProcess.js";
|
|
39
39
|
export * from "./thinCircleOfConfusionPostProcess.js";
|
|
40
|
+
export * from "./thinConvolutionPostProcess.js";
|
|
40
41
|
export * from "./thinDepthOfFieldEffect.js";
|
|
41
42
|
export * from "./thinExtractHighlightsPostProcess.js";
|
|
42
43
|
export * from "./thinFXAAPostProcess.js";
|
package/PostProcesses/index.js
CHANGED
|
@@ -38,6 +38,7 @@ export * from "./thinBloomEffect.js";
|
|
|
38
38
|
export * from "./thinBlurPostProcess.js";
|
|
39
39
|
export * from "./thinChromaticAberrationPostProcess.js";
|
|
40
40
|
export * from "./thinCircleOfConfusionPostProcess.js";
|
|
41
|
+
export * from "./thinConvolutionPostProcess.js";
|
|
41
42
|
export * from "./thinDepthOfFieldEffect.js";
|
|
42
43
|
export * from "./thinExtractHighlightsPostProcess.js";
|
|
43
44
|
export * from "./thinFXAAPostProcess.js";
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../dev/core/src/PostProcesses/index.ts"],"names":[],"mappings":"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","sourcesContent":["/* eslint-disable @typescript-eslint/no-restricted-imports */\r\nexport * from \"./anaglyphPostProcess\";\r\nexport * from \"./blackAndWhitePostProcess\";\r\nexport * from \"./bloomEffect\";\r\nexport * from \"./bloomMergePostProcess\";\r\nexport * from \"./blurPostProcess\";\r\nexport * from \"./chromaticAberrationPostProcess\";\r\nexport * from \"./circleOfConfusionPostProcess\";\r\nexport * from \"./colorCorrectionPostProcess\";\r\nexport * from \"./convolutionPostProcess\";\r\nexport * from \"./depthOfFieldBlurPostProcess\";\r\nexport * from \"./depthOfFieldEffect\";\r\nexport * from \"./depthOfFieldMergePostProcess\";\r\nexport * from \"./displayPassPostProcess\";\r\nexport * from \"./extractHighlightsPostProcess\";\r\nexport * from \"./filterPostProcess\";\r\nexport * from \"./fxaaPostProcess\";\r\nexport * from \"./grainPostProcess\";\r\nexport * from \"./highlightsPostProcess\";\r\nexport * from \"./imageProcessingPostProcess\";\r\nexport * from \"./motionBlurPostProcess\";\r\nexport * from \"./passPostProcess\";\r\nexport * from \"./postProcess\";\r\nexport * from \"./postProcessManager\";\r\nexport * from \"./refractionPostProcess\";\r\nexport * from \"./RenderPipeline/index\";\r\nexport * from \"./sharpenPostProcess\";\r\nexport * from \"./stereoscopicInterlacePostProcess\";\r\nexport * from \"./tonemapPostProcess\";\r\nexport * from \"./volumetricLightScatteringPostProcess\";\r\nexport * from \"./vrDistortionCorrectionPostProcess\";\r\nexport * from \"./vrMultiviewToSingleviewPostProcess\";\r\nexport * from \"./screenSpaceReflectionPostProcess\";\r\nexport * from \"./screenSpaceCurvaturePostProcess\";\r\n\r\nexport * from \"./thinAnaglyphPostProcess\";\r\nexport * from \"./thinBlackAndWhitePostProcess\";\r\nexport * from \"./thinBloomEffect\";\r\nexport * from \"./thinBlurPostProcess\";\r\nexport * from \"./thinChromaticAberrationPostProcess\";\r\nexport * from \"./thinCircleOfConfusionPostProcess\";\r\nexport * from \"./thinDepthOfFieldEffect\";\r\nexport * from \"./thinExtractHighlightsPostProcess\";\r\nexport * from \"./thinFXAAPostProcess\";\r\nexport * from \"./thinGrainPostProcess\";\r\nexport * from \"./thinImageProcessingPostProcess\";\r\nexport * from \"./thinMotionBlurPostProcess\";\r\nexport * from \"./thinPassPostProcess\";\r\n\r\n// Postprocess\r\nexport * from \"../Shaders/postprocess.vertex\";\r\nexport * from \"../ShadersWGSL/postprocess.vertex\";\r\n\r\n// Blur postprocess\r\nexport * from \"../Shaders/kernelBlur.fragment\";\r\nexport * from \"../Shaders/kernelBlur.vertex\";\r\nexport * from \"../ShadersWGSL/kernelBlur.fragment\";\r\nexport * from \"../ShadersWGSL/kernelBlur.vertex\";\r\n\r\n// Pass postprocess\r\nexport * from \"../Shaders/pass.fragment\";\r\nexport * from \"../Shaders/passCube.fragment\";\r\nexport * from \"../ShadersWGSL/pass.fragment\";\r\nexport * from \"../ShadersWGSL/passCube.fragment\";\r\n\r\n// vrDFistortionCorrection postprocess\r\nexport * from \"../Shaders/vrDistortionCorrection.fragment\";\r\nexport * from \"../ShadersWGSL/vrDistortionCorrection.fragment\";\r\n\r\n// Image processing postprocess\r\nexport * from \"../ShadersWGSL/imageProcessing.fragment\";\r\nexport * from \"../Shaders/imageProcessing.fragment\";\r\n\r\n// Sharpen\r\nexport * from \"../Shaders/sharpen.fragment\";\r\nexport * from \"../ShadersWGSL/sharpen.fragment\";\r\n\r\n// Grain\r\nexport * from \"../Shaders/grain.fragment\";\r\nexport * from \"../ShadersWGSL/grain.fragment\";\r\n\r\n// Chromatic Aberration\r\nexport * from \"../Shaders/chromaticAberration.fragment\";\r\nexport * from \"../ShadersWGSL/chromaticAberration.fragment\";\r\n\r\n// Depth of field merge\r\nexport * from \"../Shaders/depthOfFieldMerge.fragment\";\r\nexport * from \"../ShadersWGSL/depthOfFieldMerge.fragment\";\r\n\r\n// Circle of confusion\r\nexport * from \"../Shaders/circleOfConfusion.fragment\";\r\nexport * from \"../ShadersWGSL/circleOfConfusion.fragment\";\r\n\r\n// Bloom\r\nexport * from \"../Shaders/bloomMerge.fragment\";\r\nexport * from \"../ShadersWGSL/bloomMerge.fragment\";\r\n\r\n// Extract highlights\r\nexport * from \"../Shaders/extractHighlights.fragment\";\r\nexport * from \"../ShadersWGSL/extractHighlights.fragment\";\r\n\r\n// FXAA\r\nexport * from \"../Shaders/fxaa.fragment\";\r\nexport * from \"../Shaders/fxaa.vertex\";\r\nexport * from \"../ShadersWGSL/fxaa.fragment\";\r\nexport * from \"../ShadersWGSL/fxaa.vertex\";\r\n\r\n// B&W\r\nexport * from \"../Shaders/blackAndWhite.fragment\";\r\nexport * from \"../ShadersWGSL/blackAndWhite.fragment\";\r\n\r\n// Anaglyph\r\nexport * from \"../Shaders/anaglyph.fragment\";\r\nexport * from \"../ShadersWGSL/anaglyph.fragment\";\r\n\r\n// Convolution\r\nexport * from \"../Shaders/convolution.fragment\";\r\nexport * from \"../ShadersWGSL/convolution.fragment\";\r\n\r\n// Color correction\r\nexport * from \"../Shaders/colorCorrection.fragment\";\r\nexport * from \"../ShadersWGSL/colorCorrection.fragment\";\r\n\r\n// Motion blur\r\nexport * from \"../Shaders/motionBlur.fragment\";\r\nexport * from \"../ShadersWGSL/motionBlur.fragment\";\r\n\r\n// Filter\r\nexport * from \"../Shaders/filter.fragment\";\r\nexport * from \"../ShadersWGSL/filter.fragment\";\r\n\r\n// Highlights\r\nexport * from \"../Shaders/highlights.fragment\";\r\nexport * from \"../ShadersWGSL/highlights.fragment\";\r\n\r\n// Display\r\nexport * from \"../Shaders/displayPass.fragment\";\r\nexport * from \"../ShadersWGSL/displayPass.fragment\";\r\n\r\n// Tonemap\r\nexport * from \"../Shaders/tonemap.fragment\";\r\nexport * from \"../ShadersWGSL/tonemap.fragment\";\r\n"]}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../dev/core/src/PostProcesses/index.ts"],"names":[],"mappings":"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","sourcesContent":["/* eslint-disable @typescript-eslint/no-restricted-imports */\r\nexport * from \"./anaglyphPostProcess\";\r\nexport * from \"./blackAndWhitePostProcess\";\r\nexport * from \"./bloomEffect\";\r\nexport * from \"./bloomMergePostProcess\";\r\nexport * from \"./blurPostProcess\";\r\nexport * from \"./chromaticAberrationPostProcess\";\r\nexport * from \"./circleOfConfusionPostProcess\";\r\nexport * from \"./colorCorrectionPostProcess\";\r\nexport * from \"./convolutionPostProcess\";\r\nexport * from \"./depthOfFieldBlurPostProcess\";\r\nexport * from \"./depthOfFieldEffect\";\r\nexport * from \"./depthOfFieldMergePostProcess\";\r\nexport * from \"./displayPassPostProcess\";\r\nexport * from \"./extractHighlightsPostProcess\";\r\nexport * from \"./filterPostProcess\";\r\nexport * from \"./fxaaPostProcess\";\r\nexport * from \"./grainPostProcess\";\r\nexport * from \"./highlightsPostProcess\";\r\nexport * from \"./imageProcessingPostProcess\";\r\nexport * from \"./motionBlurPostProcess\";\r\nexport * from \"./passPostProcess\";\r\nexport * from \"./postProcess\";\r\nexport * from \"./postProcessManager\";\r\nexport * from \"./refractionPostProcess\";\r\nexport * from \"./RenderPipeline/index\";\r\nexport * from \"./sharpenPostProcess\";\r\nexport * from \"./stereoscopicInterlacePostProcess\";\r\nexport * from \"./tonemapPostProcess\";\r\nexport * from \"./volumetricLightScatteringPostProcess\";\r\nexport * from \"./vrDistortionCorrectionPostProcess\";\r\nexport * from \"./vrMultiviewToSingleviewPostProcess\";\r\nexport * from \"./screenSpaceReflectionPostProcess\";\r\nexport * from \"./screenSpaceCurvaturePostProcess\";\r\n\r\nexport * from \"./thinAnaglyphPostProcess\";\r\nexport * from \"./thinBlackAndWhitePostProcess\";\r\nexport * from \"./thinBloomEffect\";\r\nexport * from \"./thinBlurPostProcess\";\r\nexport * from \"./thinChromaticAberrationPostProcess\";\r\nexport * from \"./thinCircleOfConfusionPostProcess\";\r\nexport * from \"./thinConvolutionPostProcess\";\r\nexport * from \"./thinDepthOfFieldEffect\";\r\nexport * from \"./thinExtractHighlightsPostProcess\";\r\nexport * from \"./thinFXAAPostProcess\";\r\nexport * from \"./thinGrainPostProcess\";\r\nexport * from \"./thinImageProcessingPostProcess\";\r\nexport * from \"./thinMotionBlurPostProcess\";\r\nexport * from \"./thinPassPostProcess\";\r\n\r\n// Postprocess\r\nexport * from \"../Shaders/postprocess.vertex\";\r\nexport * from \"../ShadersWGSL/postprocess.vertex\";\r\n\r\n// Blur postprocess\r\nexport * from \"../Shaders/kernelBlur.fragment\";\r\nexport * from \"../Shaders/kernelBlur.vertex\";\r\nexport * from \"../ShadersWGSL/kernelBlur.fragment\";\r\nexport * from \"../ShadersWGSL/kernelBlur.vertex\";\r\n\r\n// Pass postprocess\r\nexport * from \"../Shaders/pass.fragment\";\r\nexport * from \"../Shaders/passCube.fragment\";\r\nexport * from \"../ShadersWGSL/pass.fragment\";\r\nexport * from \"../ShadersWGSL/passCube.fragment\";\r\n\r\n// vrDFistortionCorrection postprocess\r\nexport * from \"../Shaders/vrDistortionCorrection.fragment\";\r\nexport * from \"../ShadersWGSL/vrDistortionCorrection.fragment\";\r\n\r\n// Image processing postprocess\r\nexport * from \"../ShadersWGSL/imageProcessing.fragment\";\r\nexport * from \"../Shaders/imageProcessing.fragment\";\r\n\r\n// Sharpen\r\nexport * from \"../Shaders/sharpen.fragment\";\r\nexport * from \"../ShadersWGSL/sharpen.fragment\";\r\n\r\n// Grain\r\nexport * from \"../Shaders/grain.fragment\";\r\nexport * from \"../ShadersWGSL/grain.fragment\";\r\n\r\n// Chromatic Aberration\r\nexport * from \"../Shaders/chromaticAberration.fragment\";\r\nexport * from \"../ShadersWGSL/chromaticAberration.fragment\";\r\n\r\n// Depth of field merge\r\nexport * from \"../Shaders/depthOfFieldMerge.fragment\";\r\nexport * from \"../ShadersWGSL/depthOfFieldMerge.fragment\";\r\n\r\n// Circle of confusion\r\nexport * from \"../Shaders/circleOfConfusion.fragment\";\r\nexport * from \"../ShadersWGSL/circleOfConfusion.fragment\";\r\n\r\n// Bloom\r\nexport * from \"../Shaders/bloomMerge.fragment\";\r\nexport * from \"../ShadersWGSL/bloomMerge.fragment\";\r\n\r\n// Extract highlights\r\nexport * from \"../Shaders/extractHighlights.fragment\";\r\nexport * from \"../ShadersWGSL/extractHighlights.fragment\";\r\n\r\n// FXAA\r\nexport * from \"../Shaders/fxaa.fragment\";\r\nexport * from \"../Shaders/fxaa.vertex\";\r\nexport * from \"../ShadersWGSL/fxaa.fragment\";\r\nexport * from \"../ShadersWGSL/fxaa.vertex\";\r\n\r\n// B&W\r\nexport * from \"../Shaders/blackAndWhite.fragment\";\r\nexport * from \"../ShadersWGSL/blackAndWhite.fragment\";\r\n\r\n// Anaglyph\r\nexport * from \"../Shaders/anaglyph.fragment\";\r\nexport * from \"../ShadersWGSL/anaglyph.fragment\";\r\n\r\n// Convolution\r\nexport * from \"../Shaders/convolution.fragment\";\r\nexport * from \"../ShadersWGSL/convolution.fragment\";\r\n\r\n// Color correction\r\nexport * from \"../Shaders/colorCorrection.fragment\";\r\nexport * from \"../ShadersWGSL/colorCorrection.fragment\";\r\n\r\n// Motion blur\r\nexport * from \"../Shaders/motionBlur.fragment\";\r\nexport * from \"../ShadersWGSL/motionBlur.fragment\";\r\n\r\n// Filter\r\nexport * from \"../Shaders/filter.fragment\";\r\nexport * from \"../ShadersWGSL/filter.fragment\";\r\n\r\n// Highlights\r\nexport * from \"../Shaders/highlights.fragment\";\r\nexport * from \"../ShadersWGSL/highlights.fragment\";\r\n\r\n// Display\r\nexport * from \"../Shaders/displayPass.fragment\";\r\nexport * from \"../ShadersWGSL/displayPass.fragment\";\r\n\r\n// Tonemap\r\nexport * from \"../Shaders/tonemap.fragment\";\r\nexport * from \"../ShadersWGSL/tonemap.fragment\";\r\n"]}
|
|
@@ -0,0 +1,59 @@
|
|
|
1
|
+
import type { Nullable, AbstractEngine, EffectWrapperCreationOptions } from "../index.js";
|
|
2
|
+
import { EffectWrapper } from "../Materials/effectRenderer.js";
|
|
3
|
+
/**
|
|
4
|
+
* Post process used to apply a convolution effect
|
|
5
|
+
*/
|
|
6
|
+
export declare class ThinConvolutionPostProcess extends EffectWrapper {
|
|
7
|
+
/**
|
|
8
|
+
* Edge detection 0 see https://en.wikipedia.org/wiki/Kernel_(image_processing)
|
|
9
|
+
*/
|
|
10
|
+
static EdgeDetect0Kernel: number[];
|
|
11
|
+
/**
|
|
12
|
+
* Edge detection 1 see https://en.wikipedia.org/wiki/Kernel_(image_processing)
|
|
13
|
+
*/
|
|
14
|
+
static EdgeDetect1Kernel: number[];
|
|
15
|
+
/**
|
|
16
|
+
* Edge detection 2 see https://en.wikipedia.org/wiki/Kernel_(image_processing)
|
|
17
|
+
*/
|
|
18
|
+
static EdgeDetect2Kernel: number[];
|
|
19
|
+
/**
|
|
20
|
+
* Kernel to sharpen an image see https://en.wikipedia.org/wiki/Kernel_(image_processing)
|
|
21
|
+
*/
|
|
22
|
+
static SharpenKernel: number[];
|
|
23
|
+
/**
|
|
24
|
+
* Kernel to emboss an image see https://en.wikipedia.org/wiki/Kernel_(image_processing)
|
|
25
|
+
*/
|
|
26
|
+
static EmbossKernel: number[];
|
|
27
|
+
/**
|
|
28
|
+
* Kernel to blur an image see https://en.wikipedia.org/wiki/Kernel_(image_processing)
|
|
29
|
+
*/
|
|
30
|
+
static GaussianKernel: number[];
|
|
31
|
+
/**
|
|
32
|
+
* The fragment shader url
|
|
33
|
+
*/
|
|
34
|
+
static readonly FragmentUrl = "convolution";
|
|
35
|
+
/**
|
|
36
|
+
* The list of uniforms used by the effect
|
|
37
|
+
*/
|
|
38
|
+
static readonly Uniforms: string[];
|
|
39
|
+
protected _gatherImports(useWebGPU: boolean, list: Promise<any>[]): void;
|
|
40
|
+
/**
|
|
41
|
+
* Constructs a new convolution post process
|
|
42
|
+
* @param name Name of the effect
|
|
43
|
+
* @param engine Engine to use to render the effect. If not provided, the last created engine will be used
|
|
44
|
+
* @param kernel Array of 9 values corresponding to the 3x3 kernel to be applied
|
|
45
|
+
* @param options Options to configure the effect
|
|
46
|
+
*/
|
|
47
|
+
constructor(name: string, engine: Nullable<AbstractEngine> | undefined, kernel: number[], options?: EffectWrapperCreationOptions);
|
|
48
|
+
/** Array of 9 values corresponding to the 3x3 kernel to be applied */
|
|
49
|
+
kernel: number[];
|
|
50
|
+
/**
|
|
51
|
+
* The width of the source texture
|
|
52
|
+
*/
|
|
53
|
+
textureWidth: number;
|
|
54
|
+
/**
|
|
55
|
+
* The height of the source texture
|
|
56
|
+
*/
|
|
57
|
+
textureHeight: number;
|
|
58
|
+
bind(noDefaultBindings?: boolean): void;
|
|
59
|
+
}
|
|
@@ -0,0 +1,83 @@
|
|
|
1
|
+
import { EffectWrapper } from "../Materials/effectRenderer.js";
|
|
2
|
+
import { Engine } from "../Engines/engine.js";
|
|
3
|
+
/**
|
|
4
|
+
* Post process used to apply a convolution effect
|
|
5
|
+
*/
|
|
6
|
+
export class ThinConvolutionPostProcess extends EffectWrapper {
|
|
7
|
+
_gatherImports(useWebGPU, list) {
|
|
8
|
+
if (useWebGPU) {
|
|
9
|
+
this._webGPUReady = true;
|
|
10
|
+
list.push(import("../ShadersWGSL/convolution.fragment.js"));
|
|
11
|
+
}
|
|
12
|
+
else {
|
|
13
|
+
list.push(import("../Shaders/convolution.fragment.js"));
|
|
14
|
+
}
|
|
15
|
+
}
|
|
16
|
+
/**
|
|
17
|
+
* Constructs a new convolution post process
|
|
18
|
+
* @param name Name of the effect
|
|
19
|
+
* @param engine Engine to use to render the effect. If not provided, the last created engine will be used
|
|
20
|
+
* @param kernel Array of 9 values corresponding to the 3x3 kernel to be applied
|
|
21
|
+
* @param options Options to configure the effect
|
|
22
|
+
*/
|
|
23
|
+
constructor(name, engine = null, kernel, options) {
|
|
24
|
+
super({
|
|
25
|
+
...options,
|
|
26
|
+
name,
|
|
27
|
+
engine: engine || Engine.LastCreatedEngine,
|
|
28
|
+
useShaderStore: true,
|
|
29
|
+
useAsPostProcess: true,
|
|
30
|
+
fragmentShader: ThinConvolutionPostProcess.FragmentUrl,
|
|
31
|
+
uniforms: ThinConvolutionPostProcess.Uniforms,
|
|
32
|
+
});
|
|
33
|
+
/**
|
|
34
|
+
* The width of the source texture
|
|
35
|
+
*/
|
|
36
|
+
this.textureWidth = 0;
|
|
37
|
+
/**
|
|
38
|
+
* The height of the source texture
|
|
39
|
+
*/
|
|
40
|
+
this.textureHeight = 0;
|
|
41
|
+
this.kernel = kernel;
|
|
42
|
+
}
|
|
43
|
+
bind(noDefaultBindings = false) {
|
|
44
|
+
super.bind(noDefaultBindings);
|
|
45
|
+
const effect = this._drawWrapper.effect;
|
|
46
|
+
effect.setFloat2("screenSize", this.textureWidth, this.textureHeight);
|
|
47
|
+
effect.setArray("kernel", this.kernel);
|
|
48
|
+
}
|
|
49
|
+
}
|
|
50
|
+
// Statics
|
|
51
|
+
/**
|
|
52
|
+
* Edge detection 0 see https://en.wikipedia.org/wiki/Kernel_(image_processing)
|
|
53
|
+
*/
|
|
54
|
+
ThinConvolutionPostProcess.EdgeDetect0Kernel = [1, 0, -1, 0, 0, 0, -1, 0, 1];
|
|
55
|
+
/**
|
|
56
|
+
* Edge detection 1 see https://en.wikipedia.org/wiki/Kernel_(image_processing)
|
|
57
|
+
*/
|
|
58
|
+
ThinConvolutionPostProcess.EdgeDetect1Kernel = [0, 1, 0, 1, -4, 1, 0, 1, 0];
|
|
59
|
+
/**
|
|
60
|
+
* Edge detection 2 see https://en.wikipedia.org/wiki/Kernel_(image_processing)
|
|
61
|
+
*/
|
|
62
|
+
ThinConvolutionPostProcess.EdgeDetect2Kernel = [-1, -1, -1, -1, 8, -1, -1, -1, -1];
|
|
63
|
+
/**
|
|
64
|
+
* Kernel to sharpen an image see https://en.wikipedia.org/wiki/Kernel_(image_processing)
|
|
65
|
+
*/
|
|
66
|
+
ThinConvolutionPostProcess.SharpenKernel = [0, -1, 0, -1, 5, -1, 0, -1, 0];
|
|
67
|
+
/**
|
|
68
|
+
* Kernel to emboss an image see https://en.wikipedia.org/wiki/Kernel_(image_processing)
|
|
69
|
+
*/
|
|
70
|
+
ThinConvolutionPostProcess.EmbossKernel = [-2, -1, 0, -1, 1, 1, 0, 1, 2];
|
|
71
|
+
/**
|
|
72
|
+
* Kernel to blur an image see https://en.wikipedia.org/wiki/Kernel_(image_processing)
|
|
73
|
+
*/
|
|
74
|
+
ThinConvolutionPostProcess.GaussianKernel = [0, 1, 0, 1, 1, 1, 0, 1, 0];
|
|
75
|
+
/**
|
|
76
|
+
* The fragment shader url
|
|
77
|
+
*/
|
|
78
|
+
ThinConvolutionPostProcess.FragmentUrl = "convolution";
|
|
79
|
+
/**
|
|
80
|
+
* The list of uniforms used by the effect
|
|
81
|
+
*/
|
|
82
|
+
ThinConvolutionPostProcess.Uniforms = ["kernel", "screenSize"];
|
|
83
|
+
//# sourceMappingURL=thinConvolutionPostProcess.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"thinConvolutionPostProcess.js","sourceRoot":"","sources":["../../../../dev/core/src/PostProcesses/thinConvolutionPostProcess.ts"],"names":[],"mappings":"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","sourcesContent":["import type { Nullable, AbstractEngine, EffectWrapperCreationOptions } from \"core/index\";\r\nimport { EffectWrapper } from \"../Materials/effectRenderer\";\r\nimport { Engine } from \"../Engines/engine\";\r\n\r\n/**\r\n * Post process used to apply a convolution effect\r\n */\r\nexport class ThinConvolutionPostProcess extends EffectWrapper {\r\n // Statics\r\n /**\r\n * Edge detection 0 see https://en.wikipedia.org/wiki/Kernel_(image_processing)\r\n */\r\n public static EdgeDetect0Kernel = [1, 0, -1, 0, 0, 0, -1, 0, 1];\r\n /**\r\n * Edge detection 1 see https://en.wikipedia.org/wiki/Kernel_(image_processing)\r\n */\r\n public static EdgeDetect1Kernel = [0, 1, 0, 1, -4, 1, 0, 1, 0];\r\n /**\r\n * Edge detection 2 see https://en.wikipedia.org/wiki/Kernel_(image_processing)\r\n */\r\n public static EdgeDetect2Kernel = [-1, -1, -1, -1, 8, -1, -1, -1, -1];\r\n /**\r\n * Kernel to sharpen an image see https://en.wikipedia.org/wiki/Kernel_(image_processing)\r\n */\r\n public static SharpenKernel = [0, -1, 0, -1, 5, -1, 0, -1, 0];\r\n /**\r\n * Kernel to emboss an image see https://en.wikipedia.org/wiki/Kernel_(image_processing)\r\n */\r\n public static EmbossKernel = [-2, -1, 0, -1, 1, 1, 0, 1, 2];\r\n /**\r\n * Kernel to blur an image see https://en.wikipedia.org/wiki/Kernel_(image_processing)\r\n */\r\n public static GaussianKernel = [0, 1, 0, 1, 1, 1, 0, 1, 0];\r\n\r\n /**\r\n * The fragment shader url\r\n */\r\n public static readonly FragmentUrl = \"convolution\";\r\n\r\n /**\r\n * The list of uniforms used by the effect\r\n */\r\n public static readonly Uniforms = [\"kernel\", \"screenSize\"];\r\n\r\n protected override _gatherImports(useWebGPU: boolean, list: Promise<any>[]) {\r\n if (useWebGPU) {\r\n this._webGPUReady = true;\r\n list.push(import(\"../ShadersWGSL/convolution.fragment\"));\r\n } else {\r\n list.push(import(\"../Shaders/convolution.fragment\"));\r\n }\r\n }\r\n\r\n /**\r\n * Constructs a new convolution post process\r\n * @param name Name of the effect\r\n * @param engine Engine to use to render the effect. If not provided, the last created engine will be used\r\n * @param kernel Array of 9 values corresponding to the 3x3 kernel to be applied\r\n * @param options Options to configure the effect\r\n */\r\n constructor(name: string, engine: Nullable<AbstractEngine> = null, kernel: number[], options?: EffectWrapperCreationOptions) {\r\n super({\r\n ...options,\r\n name,\r\n engine: engine || Engine.LastCreatedEngine!,\r\n useShaderStore: true,\r\n useAsPostProcess: true,\r\n fragmentShader: ThinConvolutionPostProcess.FragmentUrl,\r\n uniforms: ThinConvolutionPostProcess.Uniforms,\r\n });\r\n\r\n this.kernel = kernel;\r\n }\r\n\r\n /** Array of 9 values corresponding to the 3x3 kernel to be applied */\r\n public kernel: number[];\r\n\r\n /**\r\n * The width of the source texture\r\n */\r\n public textureWidth: number = 0;\r\n\r\n /**\r\n * The height of the source texture\r\n */\r\n public textureHeight: number = 0;\r\n\r\n public override bind(noDefaultBindings = false) {\r\n super.bind(noDefaultBindings);\r\n\r\n const effect = this._drawWrapper.effect!;\r\n\r\n effect.setFloat2(\"screenSize\", this.textureWidth, this.textureHeight);\r\n effect.setArray(\"kernel\", this.kernel);\r\n }\r\n}\r\n"]}
|