@babylonjs/core 8.1.0 → 8.2.0
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/AudioV2/abstractAudio/abstractSound.js +1 -1
- package/AudioV2/abstractAudio/abstractSound.js.map +1 -1
- package/Culling/Helper/boundingInfoHelper.js +9 -1
- package/Culling/Helper/boundingInfoHelper.js.map +1 -1
- package/Culling/ray.core.d.ts +1 -1
- package/Culling/ray.core.js +1 -1
- package/Culling/ray.core.js.map +1 -1
- package/Debug/debugLayer.js +8 -1
- package/Debug/debugLayer.js.map +1 -1
- package/Debug/physicsViewer.d.ts +4 -1
- package/Debug/physicsViewer.js +13 -5
- package/Debug/physicsViewer.js.map +1 -1
- package/Engines/abstractEngine.js +2 -2
- package/Engines/abstractEngine.js.map +1 -1
- package/FrameGraph/Node/Blocks/PostProcesses/imageProcessingPostProcessBlock.d.ts +71 -0
- package/FrameGraph/Node/Blocks/PostProcesses/imageProcessingPostProcessBlock.js +246 -0
- package/FrameGraph/Node/Blocks/PostProcesses/imageProcessingPostProcessBlock.js.map +1 -0
- package/FrameGraph/Node/Blocks/Rendering/baseObjectRendererBlock.d.ts +1 -1
- package/FrameGraph/Node/Blocks/Rendering/baseObjectRendererBlock.js +4 -4
- package/FrameGraph/Node/Blocks/Rendering/baseObjectRendererBlock.js.map +1 -1
- 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/imageProcessingTask.d.ts +17 -0
- package/FrameGraph/Tasks/PostProcesses/imageProcessingTask.js +23 -0
- package/FrameGraph/Tasks/PostProcesses/imageProcessingTask.js.map +1 -0
- package/FrameGraph/Tasks/Rendering/objectRendererTask.d.ts +3 -2
- package/FrameGraph/Tasks/Rendering/objectRendererTask.js +5 -4
- package/FrameGraph/Tasks/Rendering/objectRendererTask.js.map +1 -1
- package/FrameGraph/Tasks/Rendering/taaObjectRendererTask.js +1 -1
- package/FrameGraph/Tasks/Rendering/taaObjectRendererTask.js.map +1 -1
- package/FrameGraph/index.d.ts +1 -0
- package/FrameGraph/index.js +1 -0
- package/FrameGraph/index.js.map +1 -1
- package/Materials/Node/Blocks/Dual/lightBlock.js +6 -3
- package/Materials/Node/Blocks/Dual/lightBlock.js.map +1 -1
- package/Materials/Node/Blocks/PBR/pbrMetallicRoughnessBlock.js +4 -2
- package/Materials/Node/Blocks/PBR/pbrMetallicRoughnessBlock.js.map +1 -1
- package/Materials/PBR/pbrBaseMaterial.js +2 -1
- package/Materials/PBR/pbrBaseMaterial.js.map +1 -1
- package/Materials/PBR/pbrSubSurfaceConfiguration.d.ts +13 -0
- package/Materials/PBR/pbrSubSurfaceConfiguration.js +17 -0
- package/Materials/PBR/pbrSubSurfaceConfiguration.js.map +1 -1
- package/Materials/Textures/renderTargetTexture.d.ts +4 -3
- package/Materials/Textures/renderTargetTexture.js +6 -5
- package/Materials/Textures/renderTargetTexture.js.map +1 -1
- package/Materials/Textures/texture.js +3 -2
- package/Materials/Textures/texture.js.map +1 -1
- package/Materials/effectRenderer.d.ts +2 -1
- package/Materials/effectRenderer.js +3 -2
- package/Materials/effectRenderer.js.map +1 -1
- package/Materials/imageProcessingConfiguration.d.ts +8 -0
- package/Materials/imageProcessingConfiguration.js +16 -2
- package/Materials/imageProcessingConfiguration.js.map +1 -1
- package/Meshes/GaussianSplatting/gaussianSplattingMesh.js +15 -6
- package/Meshes/GaussianSplatting/gaussianSplattingMesh.js.map +1 -1
- package/Misc/fileTools.d.ts +6 -0
- package/Misc/fileTools.js +30 -0
- package/Misc/fileTools.js.map +1 -1
- package/Physics/v2/characterController.d.ts +5 -0
- package/Physics/v2/characterController.js +7 -0
- package/Physics/v2/characterController.js.map +1 -1
- package/PostProcesses/imageProcessingPostProcess.d.ts +4 -21
- package/PostProcesses/imageProcessingPostProcess.js +27 -138
- package/PostProcesses/imageProcessingPostProcess.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/postProcess.js +2 -1
- package/PostProcesses/postProcess.js.map +1 -1
- package/PostProcesses/thinBlackAndWhitePostProcess.d.ts +1 -1
- package/PostProcesses/thinBlackAndWhitePostProcess.js +2 -2
- package/PostProcesses/thinBlackAndWhitePostProcess.js.map +1 -1
- package/PostProcesses/thinBloomMergePostProcess.d.ts +1 -1
- package/PostProcesses/thinBloomMergePostProcess.js +2 -2
- package/PostProcesses/thinBloomMergePostProcess.js.map +1 -1
- package/PostProcesses/thinBlurPostProcess.d.ts +1 -1
- package/PostProcesses/thinBlurPostProcess.js +2 -2
- package/PostProcesses/thinBlurPostProcess.js.map +1 -1
- package/PostProcesses/thinChromaticAberrationPostProcess.d.ts +3 -3
- package/PostProcesses/thinChromaticAberrationPostProcess.js +2 -2
- package/PostProcesses/thinChromaticAberrationPostProcess.js.map +1 -1
- package/PostProcesses/thinCircleOfConfusionPostProcess.d.ts +1 -1
- package/PostProcesses/thinCircleOfConfusionPostProcess.js +2 -2
- package/PostProcesses/thinCircleOfConfusionPostProcess.js.map +1 -1
- package/PostProcesses/thinExtractHighlightsPostProcess.d.ts +1 -1
- package/PostProcesses/thinExtractHighlightsPostProcess.js +2 -2
- package/PostProcesses/thinExtractHighlightsPostProcess.js.map +1 -1
- package/PostProcesses/thinImageProcessingPostProcess.d.ts +258 -0
- package/PostProcesses/thinImageProcessingPostProcess.js +462 -0
- package/PostProcesses/thinImageProcessingPostProcess.js.map +1 -0
- package/PostProcesses/thinSSRBlurCombinerPostProcess.d.ts +1 -1
- package/PostProcesses/thinSSRBlurCombinerPostProcess.js +2 -2
- package/PostProcesses/thinSSRBlurCombinerPostProcess.js.map +1 -1
- package/PostProcesses/thinSSRBlurPostProcess.d.ts +1 -1
- package/PostProcesses/thinSSRBlurPostProcess.js +2 -2
- package/PostProcesses/thinSSRBlurPostProcess.js.map +1 -1
- package/PostProcesses/thinSSRPostProcess.d.ts +1 -1
- package/PostProcesses/thinSSRPostProcess.js +2 -2
- package/PostProcesses/thinSSRPostProcess.js.map +1 -1
- package/PostProcesses/thinTAAPostProcess.d.ts +1 -1
- package/PostProcesses/thinTAAPostProcess.js +2 -2
- package/PostProcesses/thinTAAPostProcess.js.map +1 -1
- package/Rendering/objectRenderer.d.ts +5 -5
- package/Rendering/objectRenderer.js +11 -11
- package/Rendering/objectRenderer.js.map +1 -1
- package/Shaders/ShadersInclude/lightFragment.js +10 -7
- package/Shaders/ShadersInclude/lightFragment.js.map +1 -1
- package/Shaders/ShadersInclude/pbrBRDFFunctions.js +5 -1
- package/Shaders/ShadersInclude/pbrBRDFFunctions.js.map +1 -1
- package/Shaders/ShadersInclude/pbrBlockDirectLighting.js +1 -1
- package/Shaders/ShadersInclude/pbrBlockDirectLighting.js.map +1 -1
- package/Shaders/ShadersInclude/pbrBlockFinalUnlitComponents.js +1 -1
- package/Shaders/ShadersInclude/pbrBlockFinalUnlitComponents.js.map +1 -1
- package/Shaders/ShadersInclude/pbrBlockReflectance.js +1 -1
- package/Shaders/ShadersInclude/pbrBlockReflectance.js.map +1 -1
- package/Shaders/ShadersInclude/pbrBlockReflectivity.js +2 -2
- package/Shaders/ShadersInclude/pbrBlockReflectivity.js.map +1 -1
- package/Shaders/ShadersInclude/pbrDirectLightingFunctions.js +16 -4
- package/Shaders/ShadersInclude/pbrDirectLightingFunctions.js.map +1 -1
- package/Shaders/gaussianSplatting.vertex.js +1 -1
- package/Shaders/gaussianSplatting.vertex.js.map +1 -1
- package/ShadersWGSL/ShadersInclude/lightFragment.js +10 -7
- package/ShadersWGSL/ShadersInclude/lightFragment.js.map +1 -1
- package/ShadersWGSL/ShadersInclude/pbrBRDFFunctions.js +5 -1
- package/ShadersWGSL/ShadersInclude/pbrBRDFFunctions.js.map +1 -1
- package/ShadersWGSL/ShadersInclude/pbrBlockDirectLighting.js +1 -1
- package/ShadersWGSL/ShadersInclude/pbrBlockDirectLighting.js.map +1 -1
- package/ShadersWGSL/ShadersInclude/pbrBlockFinalUnlitComponents.js +1 -1
- package/ShadersWGSL/ShadersInclude/pbrBlockFinalUnlitComponents.js.map +1 -1
- package/ShadersWGSL/ShadersInclude/pbrBlockReflectance.js +1 -1
- package/ShadersWGSL/ShadersInclude/pbrBlockReflectance.js.map +1 -1
- package/ShadersWGSL/ShadersInclude/pbrBlockReflectivity.js +2 -2
- package/ShadersWGSL/ShadersInclude/pbrBlockReflectivity.js.map +1 -1
- package/ShadersWGSL/ShadersInclude/pbrDirectLightingFunctions.js +24 -8
- package/ShadersWGSL/ShadersInclude/pbrDirectLightingFunctions.js.map +1 -1
- package/ShadersWGSL/gaussianSplatting.vertex.d.ts +1 -0
- package/ShadersWGSL/gaussianSplatting.vertex.js +4 -1
- package/ShadersWGSL/gaussianSplatting.vertex.js.map +1 -1
- package/package.json +1 -1
|
@@ -0,0 +1,71 @@
|
|
|
1
|
+
import type { Scene, FrameGraph } from "../../../../index.js";
|
|
2
|
+
import { FrameGraphImageProcessingTask } from "../../../Tasks/PostProcesses/imageProcessingTask.js";
|
|
3
|
+
import { NodeRenderGraphBasePostProcessBlock } from "./basePostProcessBlock";
|
|
4
|
+
import { Color4 } from "../../../../Maths/math.color";
|
|
5
|
+
/**
|
|
6
|
+
* Block that implements the image processing post process
|
|
7
|
+
*/
|
|
8
|
+
export declare class NodeRenderGraphImageProcessingPostProcessBlock extends NodeRenderGraphBasePostProcessBlock {
|
|
9
|
+
protected _frameGraphTask: FrameGraphImageProcessingTask;
|
|
10
|
+
/**
|
|
11
|
+
* Gets the frame graph task associated with this block
|
|
12
|
+
*/
|
|
13
|
+
get task(): FrameGraphImageProcessingTask;
|
|
14
|
+
/**
|
|
15
|
+
* Create a new image processing post process block
|
|
16
|
+
* @param name defines the block name
|
|
17
|
+
* @param frameGraph defines the hosting frame graph
|
|
18
|
+
* @param scene defines the hosting scene
|
|
19
|
+
*/
|
|
20
|
+
constructor(name: string, frameGraph: FrameGraph, scene: Scene);
|
|
21
|
+
/** Contrast used in the effect */
|
|
22
|
+
get contrast(): number;
|
|
23
|
+
set contrast(value: number);
|
|
24
|
+
/** Exposure used in the effect */
|
|
25
|
+
get exposure(): number;
|
|
26
|
+
set exposure(value: number);
|
|
27
|
+
/** Whether the tone mapping effect is enabled. */
|
|
28
|
+
get toneMappingEnabled(): boolean;
|
|
29
|
+
set toneMappingEnabled(value: boolean);
|
|
30
|
+
/** Type of tone mapping effect. */
|
|
31
|
+
get toneMappingType(): number;
|
|
32
|
+
set toneMappingType(value: number);
|
|
33
|
+
/** Whether the vignette effect is enabled. */
|
|
34
|
+
get vignetteEnabled(): boolean;
|
|
35
|
+
set vignetteEnabled(value: boolean);
|
|
36
|
+
/** Vignette weight or intensity of the vignette effect. */
|
|
37
|
+
get vignetteWeight(): number;
|
|
38
|
+
set vignetteWeight(value: number);
|
|
39
|
+
/** Vignette stretch size. */
|
|
40
|
+
get vignetteStretch(): number;
|
|
41
|
+
set vignetteStretch(value: number);
|
|
42
|
+
/** Camera field of view used by the Vignette effect. */
|
|
43
|
+
get vignetteCameraFov(): number;
|
|
44
|
+
set vignetteCameraFov(value: number);
|
|
45
|
+
/** Vignette center X Offset. */
|
|
46
|
+
get vignetteCenterX(): number;
|
|
47
|
+
set vignetteCenterX(value: number);
|
|
48
|
+
/** Vignette center Y Offset. */
|
|
49
|
+
get vignetteCenterY(): number;
|
|
50
|
+
set vignetteCenterY(value: number);
|
|
51
|
+
/** Color of the vignette applied on the screen through the chosen blend mode (vignetteBlendMode) */
|
|
52
|
+
get vignetteColor(): Color4;
|
|
53
|
+
set vignetteColor(value: Color4);
|
|
54
|
+
/** Vignette blend mode allowing different kind of effect. */
|
|
55
|
+
get vignetteBlendMode(): number;
|
|
56
|
+
set vignetteBlendMode(value: number);
|
|
57
|
+
/** Whether the dithering effect is enabled. */
|
|
58
|
+
get ditheringEnabled(): boolean;
|
|
59
|
+
set ditheringEnabled(value: boolean);
|
|
60
|
+
/** Sets whether the dithering effect is enabled. */
|
|
61
|
+
get ditheringIntensity(): number;
|
|
62
|
+
set ditheringIntensity(value: number);
|
|
63
|
+
/**
|
|
64
|
+
* Gets the current class name
|
|
65
|
+
* @returns the class name
|
|
66
|
+
*/
|
|
67
|
+
getClassName(): string;
|
|
68
|
+
protected _dumpPropertiesCode(): string;
|
|
69
|
+
serialize(): any;
|
|
70
|
+
_deserialize(serializationObject: any): void;
|
|
71
|
+
}
|
|
@@ -0,0 +1,246 @@
|
|
|
1
|
+
import { __decorate } from "../../../../tslib.es6.js";
|
|
2
|
+
import { RegisterClass } from "../../../../Misc/typeStore.js";
|
|
3
|
+
import { editableInPropertyPage } from "../../../../Decorators/nodeDecorator.js";
|
|
4
|
+
import { FrameGraphImageProcessingTask } from "../../../Tasks/PostProcesses/imageProcessingTask.js";
|
|
5
|
+
import { ThinImageProcessingPostProcess } from "../../../../PostProcesses/thinImageProcessingPostProcess.js";
|
|
6
|
+
import { NodeRenderGraphBasePostProcessBlock } from "./basePostProcessBlock.js";
|
|
7
|
+
import { ImageProcessingConfiguration } from "../../../../Materials/imageProcessingConfiguration.js";
|
|
8
|
+
import { Color4 } from "../../../../Maths/math.color.js";
|
|
9
|
+
/**
|
|
10
|
+
* Block that implements the image processing post process
|
|
11
|
+
*/
|
|
12
|
+
export class NodeRenderGraphImageProcessingPostProcessBlock extends NodeRenderGraphBasePostProcessBlock {
|
|
13
|
+
/**
|
|
14
|
+
* Gets the frame graph task associated with this block
|
|
15
|
+
*/
|
|
16
|
+
get task() {
|
|
17
|
+
return this._frameGraphTask;
|
|
18
|
+
}
|
|
19
|
+
/**
|
|
20
|
+
* Create a new image processing post process block
|
|
21
|
+
* @param name defines the block name
|
|
22
|
+
* @param frameGraph defines the hosting frame graph
|
|
23
|
+
* @param scene defines the hosting scene
|
|
24
|
+
*/
|
|
25
|
+
constructor(name, frameGraph, scene) {
|
|
26
|
+
super(name, frameGraph, scene);
|
|
27
|
+
this._finalizeInputOutputRegistering();
|
|
28
|
+
this._frameGraphTask = new FrameGraphImageProcessingTask(this.name, frameGraph, new ThinImageProcessingPostProcess(name, scene.getEngine(), {
|
|
29
|
+
scene,
|
|
30
|
+
imageProcessingConfiguration: new ImageProcessingConfiguration(),
|
|
31
|
+
}));
|
|
32
|
+
}
|
|
33
|
+
/** Contrast used in the effect */
|
|
34
|
+
get contrast() {
|
|
35
|
+
return this._frameGraphTask.postProcess.contrast;
|
|
36
|
+
}
|
|
37
|
+
set contrast(value) {
|
|
38
|
+
this._frameGraphTask.postProcess.contrast = value;
|
|
39
|
+
}
|
|
40
|
+
/** Exposure used in the effect */
|
|
41
|
+
get exposure() {
|
|
42
|
+
return this._frameGraphTask.postProcess.exposure;
|
|
43
|
+
}
|
|
44
|
+
set exposure(value) {
|
|
45
|
+
this._frameGraphTask.postProcess.exposure = value;
|
|
46
|
+
}
|
|
47
|
+
/** Whether the tone mapping effect is enabled. */
|
|
48
|
+
get toneMappingEnabled() {
|
|
49
|
+
return this._frameGraphTask.postProcess.toneMappingEnabled;
|
|
50
|
+
}
|
|
51
|
+
set toneMappingEnabled(value) {
|
|
52
|
+
this._frameGraphTask.postProcess.toneMappingEnabled = value;
|
|
53
|
+
}
|
|
54
|
+
/** Type of tone mapping effect. */
|
|
55
|
+
get toneMappingType() {
|
|
56
|
+
return this._frameGraphTask.postProcess.toneMappingType;
|
|
57
|
+
}
|
|
58
|
+
set toneMappingType(value) {
|
|
59
|
+
this._frameGraphTask.postProcess.toneMappingType = value;
|
|
60
|
+
}
|
|
61
|
+
/** Whether the vignette effect is enabled. */
|
|
62
|
+
get vignetteEnabled() {
|
|
63
|
+
return this._frameGraphTask.postProcess.vignetteEnabled;
|
|
64
|
+
}
|
|
65
|
+
set vignetteEnabled(value) {
|
|
66
|
+
this._frameGraphTask.postProcess.vignetteEnabled = value;
|
|
67
|
+
}
|
|
68
|
+
/** Vignette weight or intensity of the vignette effect. */
|
|
69
|
+
get vignetteWeight() {
|
|
70
|
+
return this._frameGraphTask.postProcess.vignetteWeight;
|
|
71
|
+
}
|
|
72
|
+
set vignetteWeight(value) {
|
|
73
|
+
this._frameGraphTask.postProcess.vignetteWeight = value;
|
|
74
|
+
}
|
|
75
|
+
/** Vignette stretch size. */
|
|
76
|
+
get vignetteStretch() {
|
|
77
|
+
return this._frameGraphTask.postProcess.vignetteStretch;
|
|
78
|
+
}
|
|
79
|
+
set vignetteStretch(value) {
|
|
80
|
+
this._frameGraphTask.postProcess.vignetteStretch = value;
|
|
81
|
+
}
|
|
82
|
+
/** Camera field of view used by the Vignette effect. */
|
|
83
|
+
get vignetteCameraFov() {
|
|
84
|
+
return this._frameGraphTask.postProcess.vignetteCameraFov;
|
|
85
|
+
}
|
|
86
|
+
set vignetteCameraFov(value) {
|
|
87
|
+
this._frameGraphTask.postProcess.vignetteCameraFov = value;
|
|
88
|
+
}
|
|
89
|
+
/** Vignette center X Offset. */
|
|
90
|
+
get vignetteCenterX() {
|
|
91
|
+
return this._frameGraphTask.postProcess.vignetteCenterX;
|
|
92
|
+
}
|
|
93
|
+
set vignetteCenterX(value) {
|
|
94
|
+
this._frameGraphTask.postProcess.vignetteCenterX = value;
|
|
95
|
+
}
|
|
96
|
+
/** Vignette center Y Offset. */
|
|
97
|
+
get vignetteCenterY() {
|
|
98
|
+
return this._frameGraphTask.postProcess.vignetteCenterY;
|
|
99
|
+
}
|
|
100
|
+
set vignetteCenterY(value) {
|
|
101
|
+
this._frameGraphTask.postProcess.vignetteCenterY = value;
|
|
102
|
+
}
|
|
103
|
+
/** Color of the vignette applied on the screen through the chosen blend mode (vignetteBlendMode) */
|
|
104
|
+
get vignetteColor() {
|
|
105
|
+
return this._frameGraphTask.postProcess.vignetteColor;
|
|
106
|
+
}
|
|
107
|
+
set vignetteColor(value) {
|
|
108
|
+
this._frameGraphTask.postProcess.vignetteColor = value;
|
|
109
|
+
}
|
|
110
|
+
/** Vignette blend mode allowing different kind of effect. */
|
|
111
|
+
get vignetteBlendMode() {
|
|
112
|
+
return this._frameGraphTask.postProcess.vignetteBlendMode;
|
|
113
|
+
}
|
|
114
|
+
set vignetteBlendMode(value) {
|
|
115
|
+
this._frameGraphTask.postProcess.vignetteBlendMode = value;
|
|
116
|
+
}
|
|
117
|
+
/** Whether the dithering effect is enabled. */
|
|
118
|
+
get ditheringEnabled() {
|
|
119
|
+
return this._frameGraphTask.postProcess.ditheringEnabled;
|
|
120
|
+
}
|
|
121
|
+
set ditheringEnabled(value) {
|
|
122
|
+
this._frameGraphTask.postProcess.ditheringEnabled = value;
|
|
123
|
+
}
|
|
124
|
+
/** Sets whether the dithering effect is enabled. */
|
|
125
|
+
get ditheringIntensity() {
|
|
126
|
+
return this._frameGraphTask.postProcess.ditheringIntensity;
|
|
127
|
+
}
|
|
128
|
+
set ditheringIntensity(value) {
|
|
129
|
+
this._frameGraphTask.postProcess.ditheringIntensity = value;
|
|
130
|
+
}
|
|
131
|
+
/**
|
|
132
|
+
* Gets the current class name
|
|
133
|
+
* @returns the class name
|
|
134
|
+
*/
|
|
135
|
+
getClassName() {
|
|
136
|
+
return "NodeRenderGraphImageProcessingPostProcessBlock";
|
|
137
|
+
}
|
|
138
|
+
_dumpPropertiesCode() {
|
|
139
|
+
const codes = [];
|
|
140
|
+
codes.push(`${this._codeVariableName}.contrast = ${this.contrast};`);
|
|
141
|
+
codes.push(`${this._codeVariableName}.exposure = ${this.exposure};`);
|
|
142
|
+
codes.push(`${this._codeVariableName}.toneMappingEnabled = ${this.toneMappingEnabled};`);
|
|
143
|
+
codes.push(`${this._codeVariableName}.toneMappingType = ${this.toneMappingType};`);
|
|
144
|
+
codes.push(`${this._codeVariableName}.vignetteEnabled = ${this.vignetteEnabled};`);
|
|
145
|
+
codes.push(`${this._codeVariableName}.vignetteWeight = ${this.vignetteWeight};`);
|
|
146
|
+
codes.push(`${this._codeVariableName}.vignetteStretch = ${this.vignetteStretch};`);
|
|
147
|
+
codes.push(`${this._codeVariableName}.vignetteCameraFov = ${this.vignetteCameraFov};`);
|
|
148
|
+
codes.push(`${this._codeVariableName}.vignetteCenterX = ${this.vignetteCenterX};`);
|
|
149
|
+
codes.push(`${this._codeVariableName}.vignetteCenterY = ${this.vignetteCenterY};`);
|
|
150
|
+
codes.push(`${this._codeVariableName}.vignetteColor = new BABYLON.Color4(${this.vignetteColor.r}, ${this.vignetteColor.g}, ${this.vignetteColor.b}, 1);`);
|
|
151
|
+
codes.push(`${this._codeVariableName}.vignetteBlendMode = ${this.vignetteBlendMode};`);
|
|
152
|
+
codes.push(`${this._codeVariableName}.ditheringEnabled = ${this.ditheringEnabled};`);
|
|
153
|
+
codes.push(`${this._codeVariableName}.ditheringIntensity = ${this.ditheringIntensity};`);
|
|
154
|
+
return super._dumpPropertiesCode() + codes.join("\n");
|
|
155
|
+
}
|
|
156
|
+
serialize() {
|
|
157
|
+
const serializationObject = super.serialize();
|
|
158
|
+
serializationObject.contrast = this.contrast;
|
|
159
|
+
serializationObject.exposure = this.exposure;
|
|
160
|
+
serializationObject.toneMappingEnabled = this.toneMappingEnabled;
|
|
161
|
+
serializationObject.toneMappingType = this.toneMappingType;
|
|
162
|
+
serializationObject.vignetteEnabled = this.vignetteEnabled;
|
|
163
|
+
serializationObject.vignetteWeight = this.vignetteWeight;
|
|
164
|
+
serializationObject.vignetteStretch = this.vignetteStretch;
|
|
165
|
+
serializationObject.vignetteCameraFov = this.vignetteCameraFov;
|
|
166
|
+
serializationObject.vignetteCenterX = this.vignetteCenterX;
|
|
167
|
+
serializationObject.vignetteCenterY = this.vignetteCenterY;
|
|
168
|
+
serializationObject.vignetteColor = this.vignetteColor.asArray();
|
|
169
|
+
serializationObject.vignetteBlendMode = this.vignetteBlendMode;
|
|
170
|
+
serializationObject.ditheringEnabled = this.ditheringEnabled;
|
|
171
|
+
serializationObject.ditheringIntensity = this.ditheringIntensity;
|
|
172
|
+
return serializationObject;
|
|
173
|
+
}
|
|
174
|
+
_deserialize(serializationObject) {
|
|
175
|
+
super._deserialize(serializationObject);
|
|
176
|
+
this.contrast = serializationObject.contrast;
|
|
177
|
+
this.exposure = serializationObject.exposure;
|
|
178
|
+
this.toneMappingEnabled = serializationObject.toneMappingEnabled;
|
|
179
|
+
this.toneMappingType = serializationObject.toneMappingType;
|
|
180
|
+
this.vignetteEnabled = serializationObject.vignetteEnabled;
|
|
181
|
+
this.vignetteWeight = serializationObject.vignetteWeight;
|
|
182
|
+
this.vignetteStretch = serializationObject.vignetteStretch;
|
|
183
|
+
this.vignetteCameraFov = serializationObject.vignetteCameraFov;
|
|
184
|
+
this.vignetteCenterX = serializationObject.vignetteCenterX;
|
|
185
|
+
this.vignetteCenterY = serializationObject.vignetteCenterY;
|
|
186
|
+
this.vignetteColor = Color4.FromArray(serializationObject.vignetteColor);
|
|
187
|
+
this.vignetteBlendMode = serializationObject.vignetteBlendMode;
|
|
188
|
+
this.ditheringEnabled = serializationObject.ditheringEnabled;
|
|
189
|
+
this.ditheringIntensity = serializationObject.ditheringIntensity;
|
|
190
|
+
}
|
|
191
|
+
}
|
|
192
|
+
__decorate([
|
|
193
|
+
editableInPropertyPage("Contrast", 1 /* PropertyTypeForEdition.Float */, "PROPERTIES", { min: 0, max: 4 })
|
|
194
|
+
], NodeRenderGraphImageProcessingPostProcessBlock.prototype, "contrast", null);
|
|
195
|
+
__decorate([
|
|
196
|
+
editableInPropertyPage("Exposure", 1 /* PropertyTypeForEdition.Float */, "PROPERTIES", { min: 0, max: 4 })
|
|
197
|
+
], NodeRenderGraphImageProcessingPostProcessBlock.prototype, "exposure", null);
|
|
198
|
+
__decorate([
|
|
199
|
+
editableInPropertyPage("Enabled", 0 /* PropertyTypeForEdition.Boolean */, "TONE MAPPING")
|
|
200
|
+
], NodeRenderGraphImageProcessingPostProcessBlock.prototype, "toneMappingEnabled", null);
|
|
201
|
+
__decorate([
|
|
202
|
+
editableInPropertyPage("Type", 4 /* PropertyTypeForEdition.List */, "TONE MAPPING", {
|
|
203
|
+
options: [
|
|
204
|
+
{ value: ImageProcessingConfiguration.TONEMAPPING_STANDARD, label: "Standard" },
|
|
205
|
+
{ value: ImageProcessingConfiguration.TONEMAPPING_ACES, label: "ACES" },
|
|
206
|
+
{ value: ImageProcessingConfiguration.TONEMAPPING_KHR_PBR_NEUTRAL, label: "KHR PBR Neutral" },
|
|
207
|
+
],
|
|
208
|
+
})
|
|
209
|
+
], NodeRenderGraphImageProcessingPostProcessBlock.prototype, "toneMappingType", null);
|
|
210
|
+
__decorate([
|
|
211
|
+
editableInPropertyPage("Enabled", 0 /* PropertyTypeForEdition.Boolean */, "VIGNETTE")
|
|
212
|
+
], NodeRenderGraphImageProcessingPostProcessBlock.prototype, "vignetteEnabled", null);
|
|
213
|
+
__decorate([
|
|
214
|
+
editableInPropertyPage("Weight", 1 /* PropertyTypeForEdition.Float */, "VIGNETTE", { min: 0, max: 4 })
|
|
215
|
+
], NodeRenderGraphImageProcessingPostProcessBlock.prototype, "vignetteWeight", null);
|
|
216
|
+
__decorate([
|
|
217
|
+
editableInPropertyPage("Stretch", 1 /* PropertyTypeForEdition.Float */, "VIGNETTE", { min: 0, max: 1 })
|
|
218
|
+
], NodeRenderGraphImageProcessingPostProcessBlock.prototype, "vignetteStretch", null);
|
|
219
|
+
__decorate([
|
|
220
|
+
editableInPropertyPage("FOV", 1 /* PropertyTypeForEdition.Float */, "VIGNETTE", { min: 0, max: 3.14159 })
|
|
221
|
+
], NodeRenderGraphImageProcessingPostProcessBlock.prototype, "vignetteCameraFov", null);
|
|
222
|
+
__decorate([
|
|
223
|
+
editableInPropertyPage("Center X", 1 /* PropertyTypeForEdition.Float */, "VIGNETTE", { min: 0, max: 1 })
|
|
224
|
+
], NodeRenderGraphImageProcessingPostProcessBlock.prototype, "vignetteCenterX", null);
|
|
225
|
+
__decorate([
|
|
226
|
+
editableInPropertyPage("Center Y", 1 /* PropertyTypeForEdition.Float */, "VIGNETTE", { min: 0, max: 1 })
|
|
227
|
+
], NodeRenderGraphImageProcessingPostProcessBlock.prototype, "vignetteCenterY", null);
|
|
228
|
+
__decorate([
|
|
229
|
+
editableInPropertyPage("Color", 5 /* PropertyTypeForEdition.Color4 */, "VIGNETTE")
|
|
230
|
+
], NodeRenderGraphImageProcessingPostProcessBlock.prototype, "vignetteColor", null);
|
|
231
|
+
__decorate([
|
|
232
|
+
editableInPropertyPage("Blend mode", 4 /* PropertyTypeForEdition.List */, "VIGNETTE", {
|
|
233
|
+
options: [
|
|
234
|
+
{ value: ImageProcessingConfiguration.VIGNETTEMODE_MULTIPLY, label: "Multiply" },
|
|
235
|
+
{ value: ImageProcessingConfiguration.VIGNETTEMODE_OPAQUE, label: "Opaque" },
|
|
236
|
+
],
|
|
237
|
+
})
|
|
238
|
+
], NodeRenderGraphImageProcessingPostProcessBlock.prototype, "vignetteBlendMode", null);
|
|
239
|
+
__decorate([
|
|
240
|
+
editableInPropertyPage("Enabed", 0 /* PropertyTypeForEdition.Boolean */, "DITHERING")
|
|
241
|
+
], NodeRenderGraphImageProcessingPostProcessBlock.prototype, "ditheringEnabled", null);
|
|
242
|
+
__decorate([
|
|
243
|
+
editableInPropertyPage("Intensity", 1 /* PropertyTypeForEdition.Float */, "DITHERING", { min: 0, max: 1 })
|
|
244
|
+
], NodeRenderGraphImageProcessingPostProcessBlock.prototype, "ditheringIntensity", null);
|
|
245
|
+
RegisterClass("BABYLON.NodeRenderGraphImageProcessingPostProcessBlock", NodeRenderGraphImageProcessingPostProcessBlock);
|
|
246
|
+
//# sourceMappingURL=imageProcessingPostProcessBlock.js.map
|
|
@@ -0,0 +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":["// eslint-disable-next-line import/no-internal-modules\r\nimport 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"]}
|
|
@@ -26,7 +26,7 @@ export declare class NodeRenderGraphBaseObjectRendererBlock extends NodeRenderGr
|
|
|
26
26
|
/** Indicates if shadows must be enabled or disabled */
|
|
27
27
|
get disableShadows(): boolean;
|
|
28
28
|
set disableShadows(value: boolean);
|
|
29
|
-
/** If
|
|
29
|
+
/** If image processing should be disabled */
|
|
30
30
|
get renderInLinearSpace(): boolean;
|
|
31
31
|
set renderInLinearSpace(value: boolean);
|
|
32
32
|
/**
|
|
@@ -58,12 +58,12 @@ export class NodeRenderGraphBaseObjectRendererBlock extends NodeRenderGraphBlock
|
|
|
58
58
|
set disableShadows(value) {
|
|
59
59
|
this._frameGraphTask.disableShadows = value;
|
|
60
60
|
}
|
|
61
|
-
/** If
|
|
61
|
+
/** If image processing should be disabled */
|
|
62
62
|
get renderInLinearSpace() {
|
|
63
|
-
return this._frameGraphTask.
|
|
63
|
+
return this._frameGraphTask.disableImageProcessing;
|
|
64
64
|
}
|
|
65
65
|
set renderInLinearSpace(value) {
|
|
66
|
-
this._frameGraphTask.
|
|
66
|
+
this._frameGraphTask.disableImageProcessing = value;
|
|
67
67
|
}
|
|
68
68
|
/**
|
|
69
69
|
* Gets the current class name
|
|
@@ -185,6 +185,6 @@ __decorate([
|
|
|
185
185
|
editableInPropertyPage("Disable shadows", 0 /* PropertyTypeForEdition.Boolean */, "PROPERTIES")
|
|
186
186
|
], NodeRenderGraphBaseObjectRendererBlock.prototype, "disableShadows", null);
|
|
187
187
|
__decorate([
|
|
188
|
-
editableInPropertyPage("
|
|
188
|
+
editableInPropertyPage("Disable image processing", 0 /* PropertyTypeForEdition.Boolean */, "PROPERTIES")
|
|
189
189
|
], NodeRenderGraphBaseObjectRendererBlock.prototype, "renderInLinearSpace", null);
|
|
190
190
|
//# sourceMappingURL=baseObjectRendererBlock.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"baseObjectRendererBlock.js","sourceRoot":"","sources":["../../../../../../../dev/core/src/FrameGraph/Node/Blocks/Rendering/baseObjectRendererBlock.ts"],"names":[],"mappings":"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","sourcesContent":["import type {\r\n Scene,\r\n NodeRenderGraphBuildState,\r\n FrameGraph,\r\n FrameGraphTextureHandle,\r\n FrameGraphObjectList,\r\n Camera,\r\n FrameGraphObjectRendererTask,\r\n NodeRenderGraphResourceContainerBlock,\r\n FrameGraphShadowGeneratorTask,\r\n // eslint-disable-next-line import/no-internal-modules\r\n} from \"core/index\";\r\nimport { NodeRenderGraphBlock } from \"../../nodeRenderGraphBlock\";\r\nimport { NodeRenderGraphBlockConnectionPointTypes, NodeRenderGraphConnectionPointDirection } from \"../../Types/nodeRenderGraphTypes\";\r\nimport { editableInPropertyPage, PropertyTypeForEdition } from \"../../../../Decorators/nodeDecorator\";\r\nimport { NodeRenderGraphConnectionPoint } from \"../../nodeRenderGraphBlockConnectionPoint\";\r\nimport { NodeRenderGraphConnectionPointCustomObject } from \"../../nodeRenderGraphConnectionPointCustomObject\";\r\n\r\n/**\r\n * @internal\r\n */\r\nexport class NodeRenderGraphBaseObjectRendererBlock extends NodeRenderGraphBlock {\r\n protected override _frameGraphTask: FrameGraphObjectRendererTask;\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 NodeRenderGraphBaseObjectRendererBlock\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(\"target\", NodeRenderGraphBlockConnectionPointTypes.AutoDetect);\r\n this.registerInput(\"depth\", NodeRenderGraphBlockConnectionPointTypes.AutoDetect, true);\r\n this.registerInput(\"camera\", NodeRenderGraphBlockConnectionPointTypes.Camera);\r\n this.registerInput(\"objects\", NodeRenderGraphBlockConnectionPointTypes.ObjectList);\r\n this._addDependenciesInput();\r\n this.registerInput(\"shadowGenerators\", NodeRenderGraphBlockConnectionPointTypes.AutoDetect, true);\r\n\r\n this.registerOutput(\"output\", NodeRenderGraphBlockConnectionPointTypes.BasedOnInput);\r\n this.registerOutput(\"outputDepth\", NodeRenderGraphBlockConnectionPointTypes.BasedOnInput);\r\n this.registerOutput(\r\n \"objectRenderer\",\r\n NodeRenderGraphBlockConnectionPointTypes.Object,\r\n new NodeRenderGraphConnectionPointCustomObject(\r\n \"objectRenderer\",\r\n this,\r\n NodeRenderGraphConnectionPointDirection.Output,\r\n NodeRenderGraphBaseObjectRendererBlock,\r\n \"NodeRenderGraphBaseObjectRendererBlock\"\r\n )\r\n );\r\n\r\n this.target.addExcludedConnectionPointFromAllowedTypes(NodeRenderGraphBlockConnectionPointTypes.TextureAllButBackBufferDepthStencil);\r\n this.depth.addExcludedConnectionPointFromAllowedTypes(\r\n NodeRenderGraphBlockConnectionPointTypes.TextureDepthStencilAttachment | NodeRenderGraphBlockConnectionPointTypes.TextureBackBufferDepthStencilAttachment\r\n );\r\n this.shadowGenerators.addExcludedConnectionPointFromAllowedTypes(\r\n NodeRenderGraphBlockConnectionPointTypes.ShadowGenerator | NodeRenderGraphBlockConnectionPointTypes.ResourceContainer\r\n );\r\n\r\n this.output._typeConnectionSource = this.target;\r\n this.outputDepth._typeConnectionSource = this.depth;\r\n }\r\n\r\n /** Indicates if depth testing must be enabled or disabled */\r\n @editableInPropertyPage(\"Depth test\", PropertyTypeForEdition.Boolean, \"PROPERTIES\")\r\n public get depthTest() {\r\n return this._frameGraphTask.depthTest;\r\n }\r\n\r\n public set depthTest(value: boolean) {\r\n this._frameGraphTask.depthTest = value;\r\n }\r\n\r\n /** Indicates if depth writing must be enabled or disabled */\r\n @editableInPropertyPage(\"Depth write\", PropertyTypeForEdition.Boolean, \"PROPERTIES\")\r\n public get depthWrite() {\r\n return this._frameGraphTask.depthWrite;\r\n }\r\n\r\n public set depthWrite(value: boolean) {\r\n this._frameGraphTask.depthWrite = value;\r\n }\r\n\r\n /** Indicates if shadows must be enabled or disabled */\r\n @editableInPropertyPage(\"Disable shadows\", PropertyTypeForEdition.Boolean, \"PROPERTIES\")\r\n public get disableShadows() {\r\n return this._frameGraphTask.disableShadows;\r\n }\r\n\r\n public set disableShadows(value: boolean) {\r\n this._frameGraphTask.disableShadows = value;\r\n }\r\n\r\n /** If the rendering should be done in linear space */\r\n @editableInPropertyPage(\"Render in linear space\", PropertyTypeForEdition.Boolean, \"PROPERTIES\")\r\n public get renderInLinearSpace() {\r\n return this._frameGraphTask.renderInLinearSpace;\r\n }\r\n\r\n public set renderInLinearSpace(value: boolean) {\r\n this._frameGraphTask.renderInLinearSpace = 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 \"NodeRenderGraphBaseObjectRendererBlock\";\r\n }\r\n\r\n /**\r\n * Gets the target texture input component\r\n */\r\n public get target(): NodeRenderGraphConnectionPoint {\r\n return this._inputs[0];\r\n }\r\n\r\n /**\r\n * Gets the depth texture input component\r\n */\r\n public get depth(): NodeRenderGraphConnectionPoint {\r\n return this._inputs[1];\r\n }\r\n\r\n /**\r\n * Gets the camera input component\r\n */\r\n public get camera(): NodeRenderGraphConnectionPoint {\r\n return this._inputs[2];\r\n }\r\n\r\n /**\r\n * Gets the objects input component\r\n */\r\n public get objects(): NodeRenderGraphConnectionPoint {\r\n return this._inputs[3];\r\n }\r\n\r\n /**\r\n * Gets the dependencies input component\r\n */\r\n public get dependencies(): NodeRenderGraphConnectionPoint {\r\n return this._inputs[4];\r\n }\r\n\r\n /**\r\n * Gets the shadowGenerators input component\r\n */\r\n public get shadowGenerators(): NodeRenderGraphConnectionPoint {\r\n return this._inputs[5];\r\n }\r\n\r\n /**\r\n * Gets the output component\r\n */\r\n public get output(): NodeRenderGraphConnectionPoint {\r\n return this._outputs[0];\r\n }\r\n\r\n /**\r\n * Gets the output depth component\r\n */\r\n public get outputDepth(): NodeRenderGraphConnectionPoint {\r\n return this._outputs[1];\r\n }\r\n\r\n /**\r\n * Gets the objectRenderer component\r\n */\r\n public get objectRenderer(): NodeRenderGraphConnectionPoint {\r\n return this._outputs[2];\r\n }\r\n\r\n protected override _buildBlock(state: NodeRenderGraphBuildState) {\r\n super._buildBlock(state);\r\n\r\n this.output.value = this._frameGraphTask.outputTexture; // the value of the output connection point is the \"output\" texture of the task\r\n this.outputDepth.value = this._frameGraphTask.outputDepthTexture; // the value of the outputDepth connection point is the \"outputDepth\" texture of the task\r\n this.objectRenderer.value = this._frameGraphTask; // the value of the objectRenderer connection point is the task itself\r\n\r\n this._frameGraphTask.targetTexture = this.target.connectedPoint?.value as FrameGraphTextureHandle;\r\n this._frameGraphTask.depthTexture = this.depth.connectedPoint?.value as FrameGraphTextureHandle;\r\n this._frameGraphTask.camera = this.camera.connectedPoint?.value as Camera;\r\n this._frameGraphTask.objectList = this.objects.connectedPoint?.value as FrameGraphObjectList;\r\n\r\n this._frameGraphTask.shadowGenerators = [];\r\n\r\n const shadowGeneratorsConnectedPoint = this.shadowGenerators.connectedPoint;\r\n if (shadowGeneratorsConnectedPoint) {\r\n if (shadowGeneratorsConnectedPoint.type === NodeRenderGraphBlockConnectionPointTypes.ResourceContainer) {\r\n const container = shadowGeneratorsConnectedPoint.ownerBlock as NodeRenderGraphResourceContainerBlock;\r\n container.inputs.forEach((input) => {\r\n if (input.connectedPoint && input.connectedPoint.value !== undefined && NodeRenderGraphConnectionPoint.IsShadowGenerator(input.connectedPoint.value)) {\r\n this._frameGraphTask.shadowGenerators!.push(input.connectedPoint.value as FrameGraphShadowGeneratorTask);\r\n }\r\n });\r\n } else if (NodeRenderGraphConnectionPoint.IsShadowGenerator(shadowGeneratorsConnectedPoint.value)) {\r\n this._frameGraphTask.shadowGenerators[0] = shadowGeneratorsConnectedPoint.value as FrameGraphShadowGeneratorTask;\r\n }\r\n }\r\n }\r\n\r\n protected override _dumpPropertiesCode() {\r\n const codes: string[] = [];\r\n codes.push(`${this._codeVariableName}.depthTest = ${this.depthTest};`);\r\n codes.push(`${this._codeVariableName}.depthWrite = ${this.depthWrite};`);\r\n codes.push(`${this._codeVariableName}.disableShadows = ${this.disableShadows};`);\r\n codes.push(`${this._codeVariableName}.renderInLinearSpace = ${this.renderInLinearSpace};`);\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.depthTest = this.depthTest;\r\n serializationObject.depthWrite = this.depthWrite;\r\n serializationObject.disableShadows = this.disableShadows;\r\n serializationObject.renderInLinearSpace = this.renderInLinearSpace;\r\n return serializationObject;\r\n }\r\n\r\n public override _deserialize(serializationObject: any) {\r\n super._deserialize(serializationObject);\r\n this.depthTest = serializationObject.depthTest;\r\n this.depthWrite = serializationObject.depthWrite;\r\n this.disableShadows = serializationObject.disableShadows;\r\n this.renderInLinearSpace = !!serializationObject.renderInLinearSpace;\r\n }\r\n}\r\n"]}
|
|
1
|
+
{"version":3,"file":"baseObjectRendererBlock.js","sourceRoot":"","sources":["../../../../../../../dev/core/src/FrameGraph/Node/Blocks/Rendering/baseObjectRendererBlock.ts"],"names":[],"mappings":"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","sourcesContent":["import type {\r\n Scene,\r\n NodeRenderGraphBuildState,\r\n FrameGraph,\r\n FrameGraphTextureHandle,\r\n FrameGraphObjectList,\r\n Camera,\r\n FrameGraphObjectRendererTask,\r\n NodeRenderGraphResourceContainerBlock,\r\n FrameGraphShadowGeneratorTask,\r\n // eslint-disable-next-line import/no-internal-modules\r\n} from \"core/index\";\r\nimport { NodeRenderGraphBlock } from \"../../nodeRenderGraphBlock\";\r\nimport { NodeRenderGraphBlockConnectionPointTypes, NodeRenderGraphConnectionPointDirection } from \"../../Types/nodeRenderGraphTypes\";\r\nimport { editableInPropertyPage, PropertyTypeForEdition } from \"../../../../Decorators/nodeDecorator\";\r\nimport { NodeRenderGraphConnectionPoint } from \"../../nodeRenderGraphBlockConnectionPoint\";\r\nimport { NodeRenderGraphConnectionPointCustomObject } from \"../../nodeRenderGraphConnectionPointCustomObject\";\r\n\r\n/**\r\n * @internal\r\n */\r\nexport class NodeRenderGraphBaseObjectRendererBlock extends NodeRenderGraphBlock {\r\n protected override _frameGraphTask: FrameGraphObjectRendererTask;\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 NodeRenderGraphBaseObjectRendererBlock\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(\"target\", NodeRenderGraphBlockConnectionPointTypes.AutoDetect);\r\n this.registerInput(\"depth\", NodeRenderGraphBlockConnectionPointTypes.AutoDetect, true);\r\n this.registerInput(\"camera\", NodeRenderGraphBlockConnectionPointTypes.Camera);\r\n this.registerInput(\"objects\", NodeRenderGraphBlockConnectionPointTypes.ObjectList);\r\n this._addDependenciesInput();\r\n this.registerInput(\"shadowGenerators\", NodeRenderGraphBlockConnectionPointTypes.AutoDetect, true);\r\n\r\n this.registerOutput(\"output\", NodeRenderGraphBlockConnectionPointTypes.BasedOnInput);\r\n this.registerOutput(\"outputDepth\", NodeRenderGraphBlockConnectionPointTypes.BasedOnInput);\r\n this.registerOutput(\r\n \"objectRenderer\",\r\n NodeRenderGraphBlockConnectionPointTypes.Object,\r\n new NodeRenderGraphConnectionPointCustomObject(\r\n \"objectRenderer\",\r\n this,\r\n NodeRenderGraphConnectionPointDirection.Output,\r\n NodeRenderGraphBaseObjectRendererBlock,\r\n \"NodeRenderGraphBaseObjectRendererBlock\"\r\n )\r\n );\r\n\r\n this.target.addExcludedConnectionPointFromAllowedTypes(NodeRenderGraphBlockConnectionPointTypes.TextureAllButBackBufferDepthStencil);\r\n this.depth.addExcludedConnectionPointFromAllowedTypes(\r\n NodeRenderGraphBlockConnectionPointTypes.TextureDepthStencilAttachment | NodeRenderGraphBlockConnectionPointTypes.TextureBackBufferDepthStencilAttachment\r\n );\r\n this.shadowGenerators.addExcludedConnectionPointFromAllowedTypes(\r\n NodeRenderGraphBlockConnectionPointTypes.ShadowGenerator | NodeRenderGraphBlockConnectionPointTypes.ResourceContainer\r\n );\r\n\r\n this.output._typeConnectionSource = this.target;\r\n this.outputDepth._typeConnectionSource = this.depth;\r\n }\r\n\r\n /** Indicates if depth testing must be enabled or disabled */\r\n @editableInPropertyPage(\"Depth test\", PropertyTypeForEdition.Boolean, \"PROPERTIES\")\r\n public get depthTest() {\r\n return this._frameGraphTask.depthTest;\r\n }\r\n\r\n public set depthTest(value: boolean) {\r\n this._frameGraphTask.depthTest = value;\r\n }\r\n\r\n /** Indicates if depth writing must be enabled or disabled */\r\n @editableInPropertyPage(\"Depth write\", PropertyTypeForEdition.Boolean, \"PROPERTIES\")\r\n public get depthWrite() {\r\n return this._frameGraphTask.depthWrite;\r\n }\r\n\r\n public set depthWrite(value: boolean) {\r\n this._frameGraphTask.depthWrite = value;\r\n }\r\n\r\n /** Indicates if shadows must be enabled or disabled */\r\n @editableInPropertyPage(\"Disable shadows\", PropertyTypeForEdition.Boolean, \"PROPERTIES\")\r\n public get disableShadows() {\r\n return this._frameGraphTask.disableShadows;\r\n }\r\n\r\n public set disableShadows(value: boolean) {\r\n this._frameGraphTask.disableShadows = value;\r\n }\r\n\r\n /** If image processing should be disabled */\r\n @editableInPropertyPage(\"Disable image processing\", PropertyTypeForEdition.Boolean, \"PROPERTIES\")\r\n public get renderInLinearSpace() {\r\n return this._frameGraphTask.disableImageProcessing;\r\n }\r\n\r\n public set renderInLinearSpace(value: boolean) {\r\n this._frameGraphTask.disableImageProcessing = 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 \"NodeRenderGraphBaseObjectRendererBlock\";\r\n }\r\n\r\n /**\r\n * Gets the target texture input component\r\n */\r\n public get target(): NodeRenderGraphConnectionPoint {\r\n return this._inputs[0];\r\n }\r\n\r\n /**\r\n * Gets the depth texture input component\r\n */\r\n public get depth(): NodeRenderGraphConnectionPoint {\r\n return this._inputs[1];\r\n }\r\n\r\n /**\r\n * Gets the camera input component\r\n */\r\n public get camera(): NodeRenderGraphConnectionPoint {\r\n return this._inputs[2];\r\n }\r\n\r\n /**\r\n * Gets the objects input component\r\n */\r\n public get objects(): NodeRenderGraphConnectionPoint {\r\n return this._inputs[3];\r\n }\r\n\r\n /**\r\n * Gets the dependencies input component\r\n */\r\n public get dependencies(): NodeRenderGraphConnectionPoint {\r\n return this._inputs[4];\r\n }\r\n\r\n /**\r\n * Gets the shadowGenerators input component\r\n */\r\n public get shadowGenerators(): NodeRenderGraphConnectionPoint {\r\n return this._inputs[5];\r\n }\r\n\r\n /**\r\n * Gets the output component\r\n */\r\n public get output(): NodeRenderGraphConnectionPoint {\r\n return this._outputs[0];\r\n }\r\n\r\n /**\r\n * Gets the output depth component\r\n */\r\n public get outputDepth(): NodeRenderGraphConnectionPoint {\r\n return this._outputs[1];\r\n }\r\n\r\n /**\r\n * Gets the objectRenderer component\r\n */\r\n public get objectRenderer(): NodeRenderGraphConnectionPoint {\r\n return this._outputs[2];\r\n }\r\n\r\n protected override _buildBlock(state: NodeRenderGraphBuildState) {\r\n super._buildBlock(state);\r\n\r\n this.output.value = this._frameGraphTask.outputTexture; // the value of the output connection point is the \"output\" texture of the task\r\n this.outputDepth.value = this._frameGraphTask.outputDepthTexture; // the value of the outputDepth connection point is the \"outputDepth\" texture of the task\r\n this.objectRenderer.value = this._frameGraphTask; // the value of the objectRenderer connection point is the task itself\r\n\r\n this._frameGraphTask.targetTexture = this.target.connectedPoint?.value as FrameGraphTextureHandle;\r\n this._frameGraphTask.depthTexture = this.depth.connectedPoint?.value as FrameGraphTextureHandle;\r\n this._frameGraphTask.camera = this.camera.connectedPoint?.value as Camera;\r\n this._frameGraphTask.objectList = this.objects.connectedPoint?.value as FrameGraphObjectList;\r\n\r\n this._frameGraphTask.shadowGenerators = [];\r\n\r\n const shadowGeneratorsConnectedPoint = this.shadowGenerators.connectedPoint;\r\n if (shadowGeneratorsConnectedPoint) {\r\n if (shadowGeneratorsConnectedPoint.type === NodeRenderGraphBlockConnectionPointTypes.ResourceContainer) {\r\n const container = shadowGeneratorsConnectedPoint.ownerBlock as NodeRenderGraphResourceContainerBlock;\r\n container.inputs.forEach((input) => {\r\n if (input.connectedPoint && input.connectedPoint.value !== undefined && NodeRenderGraphConnectionPoint.IsShadowGenerator(input.connectedPoint.value)) {\r\n this._frameGraphTask.shadowGenerators!.push(input.connectedPoint.value as FrameGraphShadowGeneratorTask);\r\n }\r\n });\r\n } else if (NodeRenderGraphConnectionPoint.IsShadowGenerator(shadowGeneratorsConnectedPoint.value)) {\r\n this._frameGraphTask.shadowGenerators[0] = shadowGeneratorsConnectedPoint.value as FrameGraphShadowGeneratorTask;\r\n }\r\n }\r\n }\r\n\r\n protected override _dumpPropertiesCode() {\r\n const codes: string[] = [];\r\n codes.push(`${this._codeVariableName}.depthTest = ${this.depthTest};`);\r\n codes.push(`${this._codeVariableName}.depthWrite = ${this.depthWrite};`);\r\n codes.push(`${this._codeVariableName}.disableShadows = ${this.disableShadows};`);\r\n codes.push(`${this._codeVariableName}.renderInLinearSpace = ${this.renderInLinearSpace};`);\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.depthTest = this.depthTest;\r\n serializationObject.depthWrite = this.depthWrite;\r\n serializationObject.disableShadows = this.disableShadows;\r\n serializationObject.renderInLinearSpace = this.renderInLinearSpace;\r\n return serializationObject;\r\n }\r\n\r\n public override _deserialize(serializationObject: any) {\r\n super._deserialize(serializationObject);\r\n this.depthTest = serializationObject.depthTest;\r\n this.depthWrite = serializationObject.depthWrite;\r\n this.disableShadows = serializationObject.disableShadows;\r\n this.renderInLinearSpace = !!serializationObject.renderInLinearSpace;\r\n }\r\n}\r\n"]}
|
|
@@ -14,6 +14,7 @@ export * from "./PostProcesses/chromaticAberrationPostProcessBlock";
|
|
|
14
14
|
export * from "./PostProcesses/circleOfConfusionPostProcessBlock";
|
|
15
15
|
export * from "./PostProcesses/depthOfFieldPostProcessBlock";
|
|
16
16
|
export * from "./PostProcesses/extractHighlightsPostProcessBlock";
|
|
17
|
+
export * from "./PostProcesses/imageProcessingPostProcessBlock";
|
|
17
18
|
export * from "./PostProcesses/passPostProcessBlock";
|
|
18
19
|
export * from "./PostProcesses/ssrPostProcessBlock";
|
|
19
20
|
export * from "./Rendering/csmShadowGeneratorBlock";
|
|
@@ -14,6 +14,7 @@ export * from "./PostProcesses/chromaticAberrationPostProcessBlock.js";
|
|
|
14
14
|
export * from "./PostProcesses/circleOfConfusionPostProcessBlock.js";
|
|
15
15
|
export * from "./PostProcesses/depthOfFieldPostProcessBlock.js";
|
|
16
16
|
export * from "./PostProcesses/extractHighlightsPostProcessBlock.js";
|
|
17
|
+
export * from "./PostProcesses/imageProcessingPostProcessBlock.js";
|
|
17
18
|
export * from "./PostProcesses/passPostProcessBlock.js";
|
|
18
19
|
export * from "./PostProcesses/ssrPostProcessBlock.js";
|
|
19
20
|
export * from "./Rendering/csmShadowGeneratorBlock.js";
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../../dev/core/src/FrameGraph/Node/Blocks/index.ts"],"names":[],"mappings":"AAAA,cAAc,oBAAoB,CAAC;AACnC,cAAc,cAAc,CAAC;AAC7B,cAAc,gBAAgB,CAAC;AAC/B,cAAc,cAAc,CAAC;AAC7B,cAAc,eAAe,CAAC;AAC9B,cAAc,0BAA0B,CAAC;AAEzC,cAAc,yBAAyB,CAAC;AACxC,cAAc,8BAA8B,CAAC;AAE7C,cAAc,0CAA0C,CAAC;AACzD,cAAc,+CAA+C,CAAC;AAC9D,cAAc,uCAAuC,CAAC;AACtD,cAAc,sCAAsC,CAAC;AACrD,cAAc,qDAAqD,CAAC;AACpE,cAAc,mDAAmD,CAAC;AAClE,cAAc,8CAA8C,CAAC;AAC7D,cAAc,mDAAmD,CAAC;AAClE,cAAc,sCAAsC,CAAC;AACrD,cAAc,qCAAqC,CAAC;AAEpD,cAAc,qCAAqC,CAAC;AACpD,cAAc,mCAAmC,CAAC;AAClD,cAAc,iCAAiC,CAAC;AAChD,cAAc,kCAAkC,CAAC;AACjD,cAAc,oCAAoC,CAAC;AACnD,cAAc,uCAAuC,CAAC;AAEtD,cAAc,4BAA4B,CAAC;AAC3C,cAAc,6BAA6B,CAAC;AAE5C,cAAc,uBAAuB,CAAC;AACtC,cAAc,6BAA6B,CAAC;AAC5C,cAAc,iCAAiC,CAAC","sourcesContent":["export * from \"./cullObjectsBlock\";\r\nexport * from \"./elbowBlock\";\r\nexport * from \"./executeBlock\";\r\nexport * from \"./inputBlock\";\r\nexport * from \"./outputBlock\";\r\nexport * from \"./resourceContainerBlock\";\r\n\r\nexport * from \"./Layers/glowLayerBlock\";\r\nexport * from \"./Layers/highlightLayerBlock\";\r\n\r\nexport * from \"./PostProcesses/anaglyphPostProcessBlock\";\r\nexport * from \"./PostProcesses/blackAndWhitePostProcessBlock\";\r\nexport * from \"./PostProcesses/bloomPostProcessBlock\";\r\nexport * from \"./PostProcesses/blurPostProcessBlock\";\r\nexport * from \"./PostProcesses/chromaticAberrationPostProcessBlock\";\r\nexport * from \"./PostProcesses/circleOfConfusionPostProcessBlock\";\r\nexport * from \"./PostProcesses/depthOfFieldPostProcessBlock\";\r\nexport * from \"./PostProcesses/extractHighlightsPostProcessBlock\";\r\nexport * from \"./PostProcesses/passPostProcessBlock\";\r\nexport * from \"./PostProcesses/ssrPostProcessBlock\";\r\n\r\nexport * from \"./Rendering/csmShadowGeneratorBlock\";\r\nexport * from \"./Rendering/geometryRendererBlock\";\r\nexport * from \"./Rendering/objectRendererBlock\";\r\nexport * from \"./Rendering/shadowGeneratorBlock\";\r\nexport * from \"./Rendering/taaObjectRendererBlock\";\r\nexport * from \"./Rendering/utilityLayerRendererBlock\";\r\n\r\nexport * from \"./Teleport/teleportInBlock\";\r\nexport * from \"./Teleport/teleportOutBlock\";\r\n\r\nexport * from \"./Textures/clearBlock\";\r\nexport * from \"./Textures/copyTextureBlock\";\r\nexport * from \"./Textures/generateMipmapsBlock\";\r\n"]}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../../dev/core/src/FrameGraph/Node/Blocks/index.ts"],"names":[],"mappings":"AAAA,cAAc,oBAAoB,CAAC;AACnC,cAAc,cAAc,CAAC;AAC7B,cAAc,gBAAgB,CAAC;AAC/B,cAAc,cAAc,CAAC;AAC7B,cAAc,eAAe,CAAC;AAC9B,cAAc,0BAA0B,CAAC;AAEzC,cAAc,yBAAyB,CAAC;AACxC,cAAc,8BAA8B,CAAC;AAE7C,cAAc,0CAA0C,CAAC;AACzD,cAAc,+CAA+C,CAAC;AAC9D,cAAc,uCAAuC,CAAC;AACtD,cAAc,sCAAsC,CAAC;AACrD,cAAc,qDAAqD,CAAC;AACpE,cAAc,mDAAmD,CAAC;AAClE,cAAc,8CAA8C,CAAC;AAC7D,cAAc,mDAAmD,CAAC;AAClE,cAAc,iDAAiD,CAAC;AAChE,cAAc,sCAAsC,CAAC;AACrD,cAAc,qCAAqC,CAAC;AAEpD,cAAc,qCAAqC,CAAC;AACpD,cAAc,mCAAmC,CAAC;AAClD,cAAc,iCAAiC,CAAC;AAChD,cAAc,kCAAkC,CAAC;AACjD,cAAc,oCAAoC,CAAC;AACnD,cAAc,uCAAuC,CAAC;AAEtD,cAAc,4BAA4B,CAAC;AAC3C,cAAc,6BAA6B,CAAC;AAE5C,cAAc,uBAAuB,CAAC;AACtC,cAAc,6BAA6B,CAAC;AAC5C,cAAc,iCAAiC,CAAC","sourcesContent":["export * from \"./cullObjectsBlock\";\r\nexport * from \"./elbowBlock\";\r\nexport * from \"./executeBlock\";\r\nexport * from \"./inputBlock\";\r\nexport * from \"./outputBlock\";\r\nexport * from \"./resourceContainerBlock\";\r\n\r\nexport * from \"./Layers/glowLayerBlock\";\r\nexport * from \"./Layers/highlightLayerBlock\";\r\n\r\nexport * from \"./PostProcesses/anaglyphPostProcessBlock\";\r\nexport * from \"./PostProcesses/blackAndWhitePostProcessBlock\";\r\nexport * from \"./PostProcesses/bloomPostProcessBlock\";\r\nexport * from \"./PostProcesses/blurPostProcessBlock\";\r\nexport * from \"./PostProcesses/chromaticAberrationPostProcessBlock\";\r\nexport * from \"./PostProcesses/circleOfConfusionPostProcessBlock\";\r\nexport * from \"./PostProcesses/depthOfFieldPostProcessBlock\";\r\nexport * from \"./PostProcesses/extractHighlightsPostProcessBlock\";\r\nexport * from \"./PostProcesses/imageProcessingPostProcessBlock\";\r\nexport * from \"./PostProcesses/passPostProcessBlock\";\r\nexport * from \"./PostProcesses/ssrPostProcessBlock\";\r\n\r\nexport * from \"./Rendering/csmShadowGeneratorBlock\";\r\nexport * from \"./Rendering/geometryRendererBlock\";\r\nexport * from \"./Rendering/objectRendererBlock\";\r\nexport * from \"./Rendering/shadowGeneratorBlock\";\r\nexport * from \"./Rendering/taaObjectRendererBlock\";\r\nexport * from \"./Rendering/utilityLayerRendererBlock\";\r\n\r\nexport * from \"./Teleport/teleportInBlock\";\r\nexport * from \"./Teleport/teleportOutBlock\";\r\n\r\nexport * from \"./Textures/clearBlock\";\r\nexport * from \"./Textures/copyTextureBlock\";\r\nexport * from \"./Textures/generateMipmapsBlock\";\r\n"]}
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
import type { FrameGraph, FrameGraphRenderPass, FrameGraphRenderContext } from "../../../index.js";
|
|
2
|
+
import { FrameGraphPostProcessTask } from "./postProcessTask";
|
|
3
|
+
import { ThinImageProcessingPostProcess } from "../../../PostProcesses/thinImageProcessingPostProcess.js";
|
|
4
|
+
/**
|
|
5
|
+
* Task which applies an image processing post process.
|
|
6
|
+
*/
|
|
7
|
+
export declare class FrameGraphImageProcessingTask extends FrameGraphPostProcessTask {
|
|
8
|
+
readonly postProcess: ThinImageProcessingPostProcess;
|
|
9
|
+
/**
|
|
10
|
+
* Constructs a new image processing task.
|
|
11
|
+
* @param name The name of the task.
|
|
12
|
+
* @param frameGraph The frame graph this task belongs to.
|
|
13
|
+
* @param thinPostProcess The thin post process to use for the task. If not provided, a new one will be created.
|
|
14
|
+
*/
|
|
15
|
+
constructor(name: string, frameGraph: FrameGraph, thinPostProcess?: ThinImageProcessingPostProcess);
|
|
16
|
+
record(skipCreationOfDisabledPasses?: boolean, additionalExecute?: (context: FrameGraphRenderContext) => void, additionalBindings?: (context: FrameGraphRenderContext) => void): FrameGraphRenderPass;
|
|
17
|
+
}
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
import { FrameGraphPostProcessTask } from "./postProcessTask.js";
|
|
2
|
+
import { ThinImageProcessingPostProcess } from "../../../PostProcesses/thinImageProcessingPostProcess.js";
|
|
3
|
+
/**
|
|
4
|
+
* Task which applies an image processing post process.
|
|
5
|
+
*/
|
|
6
|
+
export class FrameGraphImageProcessingTask extends FrameGraphPostProcessTask {
|
|
7
|
+
/**
|
|
8
|
+
* Constructs a new image processing task.
|
|
9
|
+
* @param name The name of the task.
|
|
10
|
+
* @param frameGraph The frame graph this task belongs to.
|
|
11
|
+
* @param thinPostProcess The thin post process to use for the task. If not provided, a new one will be created.
|
|
12
|
+
*/
|
|
13
|
+
constructor(name, frameGraph, thinPostProcess) {
|
|
14
|
+
super(name, frameGraph, thinPostProcess || new ThinImageProcessingPostProcess(name, frameGraph.engine));
|
|
15
|
+
}
|
|
16
|
+
record(skipCreationOfDisabledPasses = false, additionalExecute, additionalBindings) {
|
|
17
|
+
const pass = super.record(skipCreationOfDisabledPasses, additionalExecute, additionalBindings);
|
|
18
|
+
this.postProcess.outputTextureWidth = this._outputWidth;
|
|
19
|
+
this.postProcess.outputTextureHeight = this._outputHeight;
|
|
20
|
+
return pass;
|
|
21
|
+
}
|
|
22
|
+
}
|
|
23
|
+
//# sourceMappingURL=imageProcessingTask.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"imageProcessingTask.js","sourceRoot":"","sources":["../../../../../../dev/core/src/FrameGraph/Tasks/PostProcesses/imageProcessingTask.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,yBAAyB,EAAE,MAAM,mBAAmB,CAAC;AAC9D,OAAO,EAAE,8BAA8B,EAAE,iEAA0D;AAEnG;;GAEG;AACH,MAAM,OAAO,6BAA8B,SAAQ,yBAAyB;IAGxE;;;;;OAKG;IACH,YAAY,IAAY,EAAE,UAAsB,EAAE,eAAgD;QAC9F,KAAK,CAAC,IAAI,EAAE,UAAU,EAAE,eAAe,IAAI,IAAI,8BAA8B,CAAC,IAAI,EAAE,UAAU,CAAC,MAAM,CAAC,CAAC,CAAC;IAC5G,CAAC;IAEe,MAAM,CAClB,4BAA4B,GAAG,KAAK,EACpC,iBAA8D,EAC9D,kBAA+D;QAE/D,MAAM,IAAI,GAAG,KAAK,CAAC,MAAM,CAAC,4BAA4B,EAAE,iBAAiB,EAAE,kBAAkB,CAAC,CAAC;QAE/F,IAAI,CAAC,WAAW,CAAC,kBAAkB,GAAG,IAAI,CAAC,YAAY,CAAC;QACxD,IAAI,CAAC,WAAW,CAAC,mBAAmB,GAAG,IAAI,CAAC,aAAa,CAAC;QAE1D,OAAO,IAAI,CAAC;IAChB,CAAC;CACJ","sourcesContent":["// eslint-disable-next-line import/no-internal-modules\r\nimport type { FrameGraph, FrameGraphRenderPass, FrameGraphRenderContext } from \"core/index\";\r\nimport { FrameGraphPostProcessTask } from \"./postProcessTask\";\r\nimport { ThinImageProcessingPostProcess } from \"core/PostProcesses/thinImageProcessingPostProcess\";\r\n\r\n/**\r\n * Task which applies an image processing post process.\r\n */\r\nexport class FrameGraphImageProcessingTask extends FrameGraphPostProcessTask {\r\n public override readonly postProcess: ThinImageProcessingPostProcess;\r\n\r\n /**\r\n * Constructs a new image processing task.\r\n * @param name The name of the task.\r\n * @param frameGraph The frame graph this task belongs to.\r\n * @param thinPostProcess The thin post process to use for the task. If not provided, a new one will be created.\r\n */\r\n constructor(name: string, frameGraph: FrameGraph, thinPostProcess?: ThinImageProcessingPostProcess) {\r\n super(name, frameGraph, thinPostProcess || new ThinImageProcessingPostProcess(name, frameGraph.engine));\r\n }\r\n\r\n public override record(\r\n skipCreationOfDisabledPasses = false,\r\n additionalExecute?: (context: FrameGraphRenderContext) => void,\r\n additionalBindings?: (context: FrameGraphRenderContext) => void\r\n ): FrameGraphRenderPass {\r\n const pass = super.record(skipCreationOfDisabledPasses, additionalExecute, additionalBindings);\r\n\r\n this.postProcess.outputTextureWidth = this._outputWidth;\r\n this.postProcess.outputTextureHeight = this._outputHeight;\r\n\r\n return pass;\r\n }\r\n}\r\n"]}
|
|
@@ -40,9 +40,10 @@ export declare class FrameGraphObjectRendererTask extends FrameGraphTask {
|
|
|
40
40
|
*/
|
|
41
41
|
disableShadows: boolean;
|
|
42
42
|
/**
|
|
43
|
-
* If
|
|
43
|
+
* If image processing should be disabled (default is false).
|
|
44
|
+
* false means that the default image processing configuration will be applied (the one from the scene)
|
|
44
45
|
*/
|
|
45
|
-
|
|
46
|
+
disableImageProcessing: boolean;
|
|
46
47
|
/**
|
|
47
48
|
* The output texture.
|
|
48
49
|
* This texture will point to the same texture than the targetTexture property if it is set.
|
|
@@ -58,9 +58,10 @@ export class FrameGraphObjectRendererTask extends FrameGraphTask {
|
|
|
58
58
|
*/
|
|
59
59
|
this.disableShadows = false;
|
|
60
60
|
/**
|
|
61
|
-
* If
|
|
61
|
+
* If image processing should be disabled (default is false).
|
|
62
|
+
* false means that the default image processing configuration will be applied (the one from the scene)
|
|
62
63
|
*/
|
|
63
|
-
this.
|
|
64
|
+
this.disableImageProcessing = false;
|
|
64
65
|
this._onBeforeRenderObservable = null;
|
|
65
66
|
this._onAfterRenderObservable = null;
|
|
66
67
|
this._externalObjectRenderer = false;
|
|
@@ -88,7 +89,7 @@ export class FrameGraphObjectRendererTask extends FrameGraphTask {
|
|
|
88
89
|
// Make sure the renderList / particleSystemList are set when FrameGraphObjectRendererTask.isReady() is called!
|
|
89
90
|
this._renderer.renderList = this.objectList.meshes;
|
|
90
91
|
this._renderer.particleSystemList = this.objectList.particleSystems;
|
|
91
|
-
this._renderer.
|
|
92
|
+
this._renderer.disableImageProcessing = this.disableImageProcessing;
|
|
92
93
|
const outputTextureDescription = this._frameGraph.textureManager.getTextureDescription(this.targetTexture);
|
|
93
94
|
let depthEnabled = false;
|
|
94
95
|
if (this.depthTexture !== undefined) {
|
|
@@ -117,7 +118,7 @@ export class FrameGraphObjectRendererTask extends FrameGraphTask {
|
|
|
117
118
|
pass.setExecuteFunc((context) => {
|
|
118
119
|
this._renderer.renderList = this.objectList.meshes;
|
|
119
120
|
this._renderer.particleSystemList = this.objectList.particleSystems;
|
|
120
|
-
this._renderer.
|
|
121
|
+
this._renderer.disableImageProcessing = this.disableImageProcessing;
|
|
121
122
|
context.setDepthStates(this.depthTest && depthEnabled, this.depthWrite && depthEnabled);
|
|
122
123
|
context.render(this._renderer, this._textureWidth, this._textureHeight);
|
|
123
124
|
additionalExecute?.(context);
|