@onerjs/core 8.32.7 → 8.32.8
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/abstractSoundSource.js +12 -4
- package/AudioV2/abstractAudio/abstractSoundSource.js.map +1 -1
- package/Engines/abstractEngine.js +2 -2
- package/Engines/abstractEngine.js.map +1 -1
- package/FrameGraph/Node/Blocks/PostProcesses/baseWithPropertiesPostProcessBlock.js +1 -1
- package/FrameGraph/Node/Blocks/PostProcesses/baseWithPropertiesPostProcessBlock.js.map +1 -1
- package/FrameGraph/Node/Blocks/Rendering/baseObjectRendererBlock.d.ts +18 -0
- package/FrameGraph/Node/Blocks/Rendering/baseObjectRendererBlock.js +105 -15
- package/FrameGraph/Node/Blocks/Rendering/baseObjectRendererBlock.js.map +1 -1
- package/FrameGraph/Node/Blocks/Rendering/geometryRendererBlock.js +7 -7
- package/FrameGraph/Node/Blocks/Rendering/geometryRendererBlock.js.map +1 -1
- package/FrameGraph/Node/Blocks/Textures/copyTextureBlock.js +1 -1
- package/FrameGraph/Node/Blocks/Textures/copyTextureBlock.js.map +1 -1
- package/FrameGraph/Passes/pass.d.ts +11 -2
- package/FrameGraph/Passes/pass.js +14 -2
- package/FrameGraph/Passes/pass.js.map +1 -1
- package/FrameGraph/Passes/renderPass.d.ts +4 -2
- package/FrameGraph/Passes/renderPass.js +5 -2
- package/FrameGraph/Passes/renderPass.js.map +1 -1
- package/FrameGraph/Tasks/Layers/baseLayerTask.js +27 -31
- package/FrameGraph/Tasks/Layers/baseLayerTask.js.map +1 -1
- package/FrameGraph/Tasks/Rendering/objectRendererTask.d.ts +41 -1
- package/FrameGraph/Tasks/Rendering/objectRendererTask.js +122 -0
- package/FrameGraph/Tasks/Rendering/objectRendererTask.js.map +1 -1
- package/FrameGraph/Tasks/Texture/clearTextureTask.js +6 -4
- package/FrameGraph/Tasks/Texture/clearTextureTask.js.map +1 -1
- package/FrameGraph/frameGraph.js +3 -0
- package/FrameGraph/frameGraph.js.map +1 -1
- package/FrameGraph/frameGraphRenderTarget.js +1 -0
- package/FrameGraph/frameGraphRenderTarget.js.map +1 -1
- package/FrameGraph/frameGraphTask.d.ts +2 -0
- package/FrameGraph/frameGraphTask.js +11 -0
- package/FrameGraph/frameGraphTask.js.map +1 -1
- package/FrameGraph/frameGraphTypes.d.ts +8 -0
- package/FrameGraph/frameGraphTypes.js.map +1 -1
- package/Materials/GaussianSplatting/gaussianSplattingMaterial.d.ts +9 -0
- package/Materials/GaussianSplatting/gaussianSplattingMaterial.js +66 -22
- package/Materials/GaussianSplatting/gaussianSplattingMaterial.js.map +1 -1
- package/Materials/Node/Blocks/GaussianSplatting/gaussianSplattingBlock.js +3 -6
- package/Materials/Node/Blocks/GaussianSplatting/gaussianSplattingBlock.js.map +1 -1
- package/Meshes/GaussianSplatting/gaussianSplattingMesh.d.ts +10 -5
- package/Meshes/GaussianSplatting/gaussianSplattingMesh.js +17 -16
- package/Meshes/GaussianSplatting/gaussianSplattingMesh.js.map +1 -1
- package/Rendering/depthPeelingRenderer.d.ts +7 -78
- package/Rendering/depthPeelingRenderer.js +12 -398
- package/Rendering/depthPeelingRenderer.js.map +1 -1
- package/Rendering/depthPeelingSceneComponent.d.ts +3 -3
- package/Rendering/depthPeelingSceneComponent.js.map +1 -1
- package/Rendering/depthRenderer.js +9 -1
- package/Rendering/depthRenderer.js.map +1 -1
- package/Rendering/index.d.ts +1 -0
- package/Rendering/index.js +1 -0
- package/Rendering/index.js.map +1 -1
- package/Rendering/objectRenderer.d.ts +20 -0
- package/Rendering/objectRenderer.js +17 -1
- package/Rendering/objectRenderer.js.map +1 -1
- package/Rendering/renderingGroup.d.ts +10 -3
- package/Rendering/renderingGroup.js +24 -13
- package/Rendering/renderingGroup.js.map +1 -1
- package/Rendering/renderingManager.d.ts +6 -2
- package/Rendering/renderingManager.js +8 -2
- package/Rendering/renderingManager.js.map +1 -1
- package/Rendering/thinDepthPeelingRenderer.d.ts +120 -0
- package/Rendering/thinDepthPeelingRenderer.js +469 -0
- package/Rendering/thinDepthPeelingRenderer.js.map +1 -0
- package/Shaders/ShadersInclude/gaussianSplatting.js +1 -1
- package/Shaders/ShadersInclude/gaussianSplatting.js.map +1 -1
- package/Shaders/gaussianSplatting.vertex.js +2 -2
- package/Shaders/gaussianSplatting.vertex.js.map +1 -1
- package/Shaders/gaussianSplattingDepth.fragment.js +9 -2
- package/Shaders/gaussianSplattingDepth.fragment.js.map +1 -1
- package/Shaders/gaussianSplattingDepth.vertex.js +13 -2
- package/Shaders/gaussianSplattingDepth.vertex.js.map +1 -1
- package/Shaders/oitFinalSimpleBlend.fragment.d.ts +5 -0
- package/Shaders/oitFinalSimpleBlend.fragment.js +12 -0
- package/Shaders/oitFinalSimpleBlend.fragment.js.map +1 -0
- package/ShadersWGSL/ShadersInclude/gaussianSplatting.js +1 -5
- package/ShadersWGSL/ShadersInclude/gaussianSplatting.js.map +1 -1
- package/ShadersWGSL/gaussianSplatting.vertex.js +2 -2
- package/ShadersWGSL/gaussianSplatting.vertex.js.map +1 -1
- package/ShadersWGSL/gaussianSplattingDepth.fragment.js +12 -3
- package/ShadersWGSL/gaussianSplattingDepth.fragment.js.map +1 -1
- package/ShadersWGSL/gaussianSplattingDepth.vertex.js +13 -2
- package/ShadersWGSL/gaussianSplattingDepth.vertex.js.map +1 -1
- package/ShadersWGSL/oitFinalSimpleBlend.fragment.d.ts +5 -0
- package/ShadersWGSL/oitFinalSimpleBlend.fragment.js +13 -0
- package/ShadersWGSL/oitFinalSimpleBlend.fragment.js.map +1 -0
- package/package.json +1 -1
|
@@ -147,6 +147,6 @@ __decorate([
|
|
|
147
147
|
editableInPropertyPage("Use full screen viewport", 0 /* PropertyTypeForEdition.Boolean */, "BASE PROPERTIES")
|
|
148
148
|
], NodeRenderGraphBaseWithPropertiesPostProcessBlock.prototype, "useFullScreenViewport", null);
|
|
149
149
|
__decorate([
|
|
150
|
-
editableInPropertyPage("Viewport", 13 /* PropertyTypeForEdition.Viewport */, "BASE PROPERTIES")
|
|
150
|
+
editableInPropertyPage(" Viewport", 13 /* PropertyTypeForEdition.Viewport */, "BASE PROPERTIES")
|
|
151
151
|
], NodeRenderGraphBaseWithPropertiesPostProcessBlock.prototype, "viewport", null);
|
|
152
152
|
//# sourceMappingURL=baseWithPropertiesPostProcessBlock.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"baseWithPropertiesPostProcessBlock.js","sourceRoot":"","sources":["../../../../../../../dev/core/src/FrameGraph/Node/Blocks/PostProcesses/baseWithPropertiesPostProcessBlock.ts"],"names":[],"mappings":"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","sourcesContent":["import type { FrameGraphPostProcessTask, IViewportLike } from \"core/index\";\r\nimport { editableInPropertyPage, PropertyTypeForEdition } from \"../../../../Decorators/nodeDecorator\";\r\nimport { NodeRenderGraphBasePostProcessBlock } from \"./basePostProcessBlock\";\r\n\r\n/**\r\n * Base class for post process blocks.\r\n */\r\nexport class NodeRenderGraphBaseWithPropertiesPostProcessBlock extends NodeRenderGraphBasePostProcessBlock {\r\n protected override _frameGraphTask: FrameGraphPostProcessTask;\r\n\r\n protected _useCurrentViewport = false;\r\n protected _useFullScreenViewport = true;\r\n protected _viewport: IViewportLike = { x: 0, y: 0, width: 1, height: 1 };\r\n\r\n /** If true, the depth attachment will be read-only. */\r\n @editableInPropertyPage(\"Depth Read Only\", PropertyTypeForEdition.Boolean, \"BASE PROPERTIES\")\r\n public get depthReadOnly(): boolean {\r\n return this._frameGraphTask.depthReadOnly;\r\n }\r\n\r\n public set depthReadOnly(value: boolean) {\r\n this._frameGraphTask.depthReadOnly = value;\r\n }\r\n\r\n /** If true, the stencil attachment will be read-only. */\r\n @editableInPropertyPage(\"Stencil Read Only\", PropertyTypeForEdition.Boolean, \"BASE PROPERTIES\")\r\n public get stencilReadOnly(): boolean {\r\n return this._frameGraphTask.stencilReadOnly;\r\n }\r\n\r\n public set stencilReadOnly(value: boolean) {\r\n this._frameGraphTask.stencilReadOnly = value;\r\n }\r\n\r\n /** If true, color write will be disabled when applying the post process. */\r\n @editableInPropertyPage(\"Disable Color Write\", PropertyTypeForEdition.Boolean, \"BASE PROPERTIES\")\r\n public get disableColorWrite(): boolean {\r\n return this._frameGraphTask.disableColorWrite;\r\n }\r\n\r\n public set disableColorWrite(value: boolean) {\r\n this._frameGraphTask.disableColorWrite = value;\r\n }\r\n\r\n /** If true, the post process will be generated by a back face full-screen quad (CW order). */\r\n @editableInPropertyPage(\"Draw Back Face\", PropertyTypeForEdition.Boolean, \"BASE PROPERTIES\")\r\n public get drawBackFace(): boolean {\r\n return this._frameGraphTask.drawBackFace;\r\n }\r\n\r\n public set drawBackFace(value: boolean) {\r\n this._frameGraphTask.drawBackFace = value;\r\n }\r\n\r\n /** If depth testing should be enabled (default is true). */\r\n @editableInPropertyPage(\"Depth Test\", PropertyTypeForEdition.Boolean, \"BASE PROPERTIES\")\r\n public get depthTest(): boolean {\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 private _setViewport() {\r\n if (this._useCurrentViewport) {\r\n this._frameGraphTask.viewport = null;\r\n } else if (this._useFullScreenViewport) {\r\n this._frameGraphTask.viewport = undefined;\r\n } else {\r\n this._frameGraphTask.viewport = this._viewport;\r\n }\r\n }\r\n\r\n /** If true, the current viewport will be left unchanged. */\r\n @editableInPropertyPage(\"Use currently active viewport\", PropertyTypeForEdition.Boolean, \"BASE PROPERTIES\")\r\n public get useCurrentViewport(): boolean {\r\n return this._useCurrentViewport;\r\n }\r\n\r\n public set useCurrentViewport(value: boolean) {\r\n this._useCurrentViewport = value;\r\n this._setViewport();\r\n }\r\n\r\n /** If true, a full screen viewport will be used. */\r\n @editableInPropertyPage(\"Use full screen viewport\", PropertyTypeForEdition.Boolean, \"BASE PROPERTIES\")\r\n public get useFullScreenViewport(): boolean {\r\n return this._useFullScreenViewport;\r\n }\r\n\r\n public set useFullScreenViewport(value: boolean) {\r\n this._useFullScreenViewport = value;\r\n this._setViewport();\r\n }\r\n\r\n /** The viewport to use. */\r\n @editableInPropertyPage(\"Viewport\", PropertyTypeForEdition.Viewport, \"BASE PROPERTIES\")\r\n public get viewport(): IViewportLike {\r\n return this._viewport;\r\n }\r\n\r\n public set viewport(value: IViewportLike) {\r\n this._viewport = value;\r\n this._setViewport();\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 \"NodeRenderGraphBaseWithPropertiesPostProcessBlock\";\r\n }\r\n\r\n protected override _dumpPropertiesCode() {\r\n const codes: string[] = [];\r\n codes.push(`${this._codeVariableName}.depthReadOnly = ${this.depthReadOnly};`);\r\n codes.push(`${this._codeVariableName}.stencilReadOnly = ${this.stencilReadOnly};`);\r\n codes.push(`${this._codeVariableName}.disableColorWrite = ${this.disableColorWrite};`);\r\n codes.push(`${this._codeVariableName}.drawBackFace = ${this.drawBackFace};`);\r\n codes.push(`${this._codeVariableName}.depthTest = ${this.depthTest};`);\r\n codes.push(`${this._codeVariableName}.viewport = ${this._useCurrentViewport ? \"null\" : this._useFullScreenViewport ? \"undefined\" : JSON.stringify(this._viewport)};`);\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.depthReadOnly = this.depthReadOnly;\r\n serializationObject.stencilReadOnly = this.stencilReadOnly;\r\n serializationObject.disableColorWrite = this.disableColorWrite;\r\n serializationObject.drawBackFace = this.drawBackFace;\r\n serializationObject.depthTest = this.depthTest;\r\n serializationObject.useCurrentViewport = this._useCurrentViewport;\r\n serializationObject.useFullScreenViewport = this._useFullScreenViewport;\r\n serializationObject.viewport = this._viewport;\r\n return serializationObject;\r\n }\r\n\r\n public override _deserialize(serializationObject: any) {\r\n super._deserialize(serializationObject);\r\n this.depthReadOnly = !!serializationObject.depthReadOnly;\r\n this.stencilReadOnly = !!serializationObject.stencilReadOnly;\r\n this.disableColorWrite = !!serializationObject.disableColorWrite;\r\n this.drawBackFace = !!serializationObject.drawBackFace;\r\n this.depthTest = serializationObject.depthTest ?? true;\r\n if (serializationObject.useCurrentViewport !== undefined) {\r\n this._useCurrentViewport = serializationObject.useCurrentViewport;\r\n this._useFullScreenViewport = serializationObject.useFullScreenViewport;\r\n this._viewport = serializationObject.viewport;\r\n }\r\n this._setViewport();\r\n }\r\n}\r\n"]}
|
|
1
|
+
{"version":3,"file":"baseWithPropertiesPostProcessBlock.js","sourceRoot":"","sources":["../../../../../../../dev/core/src/FrameGraph/Node/Blocks/PostProcesses/baseWithPropertiesPostProcessBlock.ts"],"names":[],"mappings":"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","sourcesContent":["import type { FrameGraphPostProcessTask, IViewportLike } from \"core/index\";\r\nimport { editableInPropertyPage, PropertyTypeForEdition } from \"../../../../Decorators/nodeDecorator\";\r\nimport { NodeRenderGraphBasePostProcessBlock } from \"./basePostProcessBlock\";\r\n\r\n/**\r\n * Base class for post process blocks.\r\n */\r\nexport class NodeRenderGraphBaseWithPropertiesPostProcessBlock extends NodeRenderGraphBasePostProcessBlock {\r\n protected override _frameGraphTask: FrameGraphPostProcessTask;\r\n\r\n protected _useCurrentViewport = false;\r\n protected _useFullScreenViewport = true;\r\n protected _viewport: IViewportLike = { x: 0, y: 0, width: 1, height: 1 };\r\n\r\n /** If true, the depth attachment will be read-only. */\r\n @editableInPropertyPage(\"Depth Read Only\", PropertyTypeForEdition.Boolean, \"BASE PROPERTIES\")\r\n public get depthReadOnly(): boolean {\r\n return this._frameGraphTask.depthReadOnly;\r\n }\r\n\r\n public set depthReadOnly(value: boolean) {\r\n this._frameGraphTask.depthReadOnly = value;\r\n }\r\n\r\n /** If true, the stencil attachment will be read-only. */\r\n @editableInPropertyPage(\"Stencil Read Only\", PropertyTypeForEdition.Boolean, \"BASE PROPERTIES\")\r\n public get stencilReadOnly(): boolean {\r\n return this._frameGraphTask.stencilReadOnly;\r\n }\r\n\r\n public set stencilReadOnly(value: boolean) {\r\n this._frameGraphTask.stencilReadOnly = value;\r\n }\r\n\r\n /** If true, color write will be disabled when applying the post process. */\r\n @editableInPropertyPage(\"Disable Color Write\", PropertyTypeForEdition.Boolean, \"BASE PROPERTIES\")\r\n public get disableColorWrite(): boolean {\r\n return this._frameGraphTask.disableColorWrite;\r\n }\r\n\r\n public set disableColorWrite(value: boolean) {\r\n this._frameGraphTask.disableColorWrite = value;\r\n }\r\n\r\n /** If true, the post process will be generated by a back face full-screen quad (CW order). */\r\n @editableInPropertyPage(\"Draw Back Face\", PropertyTypeForEdition.Boolean, \"BASE PROPERTIES\")\r\n public get drawBackFace(): boolean {\r\n return this._frameGraphTask.drawBackFace;\r\n }\r\n\r\n public set drawBackFace(value: boolean) {\r\n this._frameGraphTask.drawBackFace = value;\r\n }\r\n\r\n /** If depth testing should be enabled (default is true). */\r\n @editableInPropertyPage(\"Depth Test\", PropertyTypeForEdition.Boolean, \"BASE PROPERTIES\")\r\n public get depthTest(): boolean {\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 private _setViewport() {\r\n if (this._useCurrentViewport) {\r\n this._frameGraphTask.viewport = null;\r\n } else if (this._useFullScreenViewport) {\r\n this._frameGraphTask.viewport = undefined;\r\n } else {\r\n this._frameGraphTask.viewport = this._viewport;\r\n }\r\n }\r\n\r\n /** If true, the current viewport will be left unchanged. */\r\n @editableInPropertyPage(\"Use currently active viewport\", PropertyTypeForEdition.Boolean, \"BASE PROPERTIES\")\r\n public get useCurrentViewport(): boolean {\r\n return this._useCurrentViewport;\r\n }\r\n\r\n public set useCurrentViewport(value: boolean) {\r\n this._useCurrentViewport = value;\r\n this._setViewport();\r\n }\r\n\r\n /** If true, a full screen viewport will be used. */\r\n @editableInPropertyPage(\"Use full screen viewport\", PropertyTypeForEdition.Boolean, \"BASE PROPERTIES\")\r\n public get useFullScreenViewport(): boolean {\r\n return this._useFullScreenViewport;\r\n }\r\n\r\n public set useFullScreenViewport(value: boolean) {\r\n this._useFullScreenViewport = value;\r\n this._setViewport();\r\n }\r\n\r\n /** The viewport to use. */\r\n @editableInPropertyPage(\" Viewport\", PropertyTypeForEdition.Viewport, \"BASE PROPERTIES\")\r\n public get viewport(): IViewportLike {\r\n return this._viewport;\r\n }\r\n\r\n public set viewport(value: IViewportLike) {\r\n this._viewport = value;\r\n this._setViewport();\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 \"NodeRenderGraphBaseWithPropertiesPostProcessBlock\";\r\n }\r\n\r\n protected override _dumpPropertiesCode() {\r\n const codes: string[] = [];\r\n codes.push(`${this._codeVariableName}.depthReadOnly = ${this.depthReadOnly};`);\r\n codes.push(`${this._codeVariableName}.stencilReadOnly = ${this.stencilReadOnly};`);\r\n codes.push(`${this._codeVariableName}.disableColorWrite = ${this.disableColorWrite};`);\r\n codes.push(`${this._codeVariableName}.drawBackFace = ${this.drawBackFace};`);\r\n codes.push(`${this._codeVariableName}.depthTest = ${this.depthTest};`);\r\n codes.push(`${this._codeVariableName}.viewport = ${this._useCurrentViewport ? \"null\" : this._useFullScreenViewport ? \"undefined\" : JSON.stringify(this._viewport)};`);\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.depthReadOnly = this.depthReadOnly;\r\n serializationObject.stencilReadOnly = this.stencilReadOnly;\r\n serializationObject.disableColorWrite = this.disableColorWrite;\r\n serializationObject.drawBackFace = this.drawBackFace;\r\n serializationObject.depthTest = this.depthTest;\r\n serializationObject.useCurrentViewport = this._useCurrentViewport;\r\n serializationObject.useFullScreenViewport = this._useFullScreenViewport;\r\n serializationObject.viewport = this._viewport;\r\n return serializationObject;\r\n }\r\n\r\n public override _deserialize(serializationObject: any) {\r\n super._deserialize(serializationObject);\r\n this.depthReadOnly = !!serializationObject.depthReadOnly;\r\n this.stencilReadOnly = !!serializationObject.stencilReadOnly;\r\n this.disableColorWrite = !!serializationObject.disableColorWrite;\r\n this.drawBackFace = !!serializationObject.drawBackFace;\r\n this.depthTest = serializationObject.depthTest ?? true;\r\n if (serializationObject.useCurrentViewport !== undefined) {\r\n this._useCurrentViewport = serializationObject.useCurrentViewport;\r\n this._useFullScreenViewport = serializationObject.useFullScreenViewport;\r\n this._viewport = serializationObject.viewport;\r\n }\r\n this._setViewport();\r\n }\r\n}\r\n"]}
|
|
@@ -41,6 +41,24 @@ export declare class NodeRenderGraphBaseObjectRendererBlock extends NodeRenderGr
|
|
|
41
41
|
/** Indicates if meshes should be rendered */
|
|
42
42
|
get renderMeshes(): boolean;
|
|
43
43
|
set renderMeshes(value: boolean);
|
|
44
|
+
/** Indicates if depth-only meshes should be rendered */
|
|
45
|
+
get renderDepthOnlyMeshes(): boolean;
|
|
46
|
+
set renderDepthOnlyMeshes(value: boolean);
|
|
47
|
+
/** Indicates if opaque meshes should be rendered */
|
|
48
|
+
get renderOpaqueMeshes(): boolean;
|
|
49
|
+
set renderOpaqueMeshes(value: boolean);
|
|
50
|
+
/** Indicates if alpha tested meshes should be rendered */
|
|
51
|
+
get renderAlphaTestMeshes(): boolean;
|
|
52
|
+
set renderAlphaTestMeshes(value: boolean);
|
|
53
|
+
/** Indicates if transparent meshes should be rendered */
|
|
54
|
+
get renderTransparentMeshes(): boolean;
|
|
55
|
+
set renderTransparentMeshes(value: boolean);
|
|
56
|
+
/** Indicates if use of Order Independent Transparency (OIT) for transparent meshes should be enabled */
|
|
57
|
+
get useOITForTransparentMeshes(): boolean;
|
|
58
|
+
set useOITForTransparentMeshes(value: boolean);
|
|
59
|
+
/** Defines the number of passes to use for Order Independent Transparency */
|
|
60
|
+
get oitPassCount(): number;
|
|
61
|
+
set oitPassCount(value: number);
|
|
44
62
|
/** Indicates if particles should be rendered */
|
|
45
63
|
get renderParticles(): boolean;
|
|
46
64
|
set renderParticles(value: boolean);
|
|
@@ -57,6 +57,11 @@ export class NodeRenderGraphBaseObjectRendererBlock extends NodeRenderGraphBlock
|
|
|
57
57
|
state.disableShadows = this.disableShadows;
|
|
58
58
|
state.renderInLinearSpace = this.renderInLinearSpace;
|
|
59
59
|
state.renderMeshes = this.renderMeshes;
|
|
60
|
+
state.renderDepthOnlyMeshes = this.renderDepthOnlyMeshes;
|
|
61
|
+
state.renderOpaqueMeshes = this.renderOpaqueMeshes;
|
|
62
|
+
state.renderAlphaTestMeshes = this.renderAlphaTestMeshes;
|
|
63
|
+
state.renderTransparentMeshes = this.renderTransparentMeshes;
|
|
64
|
+
state.useOITForTransparentMeshes = this.useOITForTransparentMeshes;
|
|
60
65
|
state.renderParticles = this.renderParticles;
|
|
61
66
|
state.renderSprites = this.renderSprites;
|
|
62
67
|
state.forceLayerMaskCheck = this.forceLayerMaskCheck;
|
|
@@ -71,6 +76,11 @@ export class NodeRenderGraphBaseObjectRendererBlock extends NodeRenderGraphBlock
|
|
|
71
76
|
this.disableShadows = state.disableShadows;
|
|
72
77
|
this.renderInLinearSpace = state.renderInLinearSpace;
|
|
73
78
|
this.renderMeshes = state.renderMeshes;
|
|
79
|
+
this.renderDepthOnlyMeshes = state.renderDepthOnlyMeshes;
|
|
80
|
+
this.renderOpaqueMeshes = state.renderOpaqueMeshes;
|
|
81
|
+
this.renderAlphaTestMeshes = state.renderAlphaTestMeshes;
|
|
82
|
+
this.renderTransparentMeshes = state.renderTransparentMeshes;
|
|
83
|
+
this.useOITForTransparentMeshes = state.useOITForTransparentMeshes;
|
|
74
84
|
this.renderParticles = state.renderParticles;
|
|
75
85
|
this.renderSprites = state.renderSprites;
|
|
76
86
|
this.forceLayerMaskCheck = state.forceLayerMaskCheck;
|
|
@@ -112,6 +122,49 @@ export class NodeRenderGraphBaseObjectRendererBlock extends NodeRenderGraphBlock
|
|
|
112
122
|
set renderMeshes(value) {
|
|
113
123
|
this._frameGraphTask.renderMeshes = value;
|
|
114
124
|
}
|
|
125
|
+
/** Indicates if depth-only meshes should be rendered */
|
|
126
|
+
get renderDepthOnlyMeshes() {
|
|
127
|
+
return this._frameGraphTask.renderDepthOnlyMeshes;
|
|
128
|
+
}
|
|
129
|
+
set renderDepthOnlyMeshes(value) {
|
|
130
|
+
this._frameGraphTask.renderDepthOnlyMeshes = value;
|
|
131
|
+
}
|
|
132
|
+
/** Indicates if opaque meshes should be rendered */
|
|
133
|
+
get renderOpaqueMeshes() {
|
|
134
|
+
return this._frameGraphTask.renderOpaqueMeshes;
|
|
135
|
+
}
|
|
136
|
+
set renderOpaqueMeshes(value) {
|
|
137
|
+
this._frameGraphTask.renderOpaqueMeshes = value;
|
|
138
|
+
}
|
|
139
|
+
/** Indicates if alpha tested meshes should be rendered */
|
|
140
|
+
get renderAlphaTestMeshes() {
|
|
141
|
+
return this._frameGraphTask.renderAlphaTestMeshes;
|
|
142
|
+
}
|
|
143
|
+
set renderAlphaTestMeshes(value) {
|
|
144
|
+
this._frameGraphTask.renderAlphaTestMeshes = value;
|
|
145
|
+
}
|
|
146
|
+
/** Indicates if transparent meshes should be rendered */
|
|
147
|
+
get renderTransparentMeshes() {
|
|
148
|
+
return this._frameGraphTask.renderTransparentMeshes;
|
|
149
|
+
}
|
|
150
|
+
set renderTransparentMeshes(value) {
|
|
151
|
+
this._frameGraphTask.renderTransparentMeshes = value;
|
|
152
|
+
}
|
|
153
|
+
/** Indicates if use of Order Independent Transparency (OIT) for transparent meshes should be enabled */
|
|
154
|
+
get useOITForTransparentMeshes() {
|
|
155
|
+
return this._frameGraphTask.useOITForTransparentMeshes;
|
|
156
|
+
}
|
|
157
|
+
// eslint-disable-next-line @typescript-eslint/naming-convention
|
|
158
|
+
set useOITForTransparentMeshes(value) {
|
|
159
|
+
this._frameGraphTask.useOITForTransparentMeshes = value;
|
|
160
|
+
}
|
|
161
|
+
/** Defines the number of passes to use for Order Independent Transparency */
|
|
162
|
+
get oitPassCount() {
|
|
163
|
+
return this._frameGraphTask.oitPassCount;
|
|
164
|
+
}
|
|
165
|
+
set oitPassCount(value) {
|
|
166
|
+
this._frameGraphTask.oitPassCount = value;
|
|
167
|
+
}
|
|
115
168
|
/** Indicates if particles should be rendered */
|
|
116
169
|
get renderParticles() {
|
|
117
170
|
return this._frameGraphTask.renderParticles;
|
|
@@ -281,6 +334,12 @@ export class NodeRenderGraphBaseObjectRendererBlock extends NodeRenderGraphBlock
|
|
|
281
334
|
codes.push(`${this._codeVariableName}.depthTest = ${this.depthTest};`);
|
|
282
335
|
codes.push(`${this._codeVariableName}.depthWrite = ${this.depthWrite};`);
|
|
283
336
|
codes.push(`${this._codeVariableName}.renderMeshes = ${this.renderMeshes};`);
|
|
337
|
+
codes.push(`${this._codeVariableName}.renderDepthOnlyMeshes = ${this.renderDepthOnlyMeshes};`);
|
|
338
|
+
codes.push(`${this._codeVariableName}.renderOpaqueMeshes = ${this.renderOpaqueMeshes};`);
|
|
339
|
+
codes.push(`${this._codeVariableName}.renderAlphaTestMeshes = ${this.renderAlphaTestMeshes};`);
|
|
340
|
+
codes.push(`${this._codeVariableName}.renderTransparentMeshes = ${this.renderTransparentMeshes};`);
|
|
341
|
+
codes.push(`${this._codeVariableName}.useOITForTransparentMeshes = ${this.useOITForTransparentMeshes};`);
|
|
342
|
+
codes.push(`${this._codeVariableName}.oitPassCount = ${this.oitPassCount};`);
|
|
284
343
|
codes.push(`${this._codeVariableName}.renderParticles = ${this.renderParticles};`);
|
|
285
344
|
codes.push(`${this._codeVariableName}.renderSprites = ${this.renderSprites};`);
|
|
286
345
|
codes.push(`${this._codeVariableName}.forceLayerMaskCheck = ${this.forceLayerMaskCheck};`);
|
|
@@ -298,6 +357,12 @@ export class NodeRenderGraphBaseObjectRendererBlock extends NodeRenderGraphBlock
|
|
|
298
357
|
serializationObject.depthTest = this.depthTest;
|
|
299
358
|
serializationObject.depthWrite = this.depthWrite;
|
|
300
359
|
serializationObject.renderMeshes = this.renderMeshes;
|
|
360
|
+
serializationObject.renderDepthOnlyMeshes = this.renderDepthOnlyMeshes;
|
|
361
|
+
serializationObject.renderOpaqueMeshes = this.renderOpaqueMeshes;
|
|
362
|
+
serializationObject.renderAlphaTestMeshes = this.renderAlphaTestMeshes;
|
|
363
|
+
serializationObject.renderTransparentMeshes = this.renderTransparentMeshes;
|
|
364
|
+
serializationObject.useOITForTransparentMeshes = this.useOITForTransparentMeshes;
|
|
365
|
+
serializationObject.oitPassCount = this.oitPassCount;
|
|
301
366
|
serializationObject.renderParticles = this.renderParticles;
|
|
302
367
|
serializationObject.renderSprites = this.renderSprites;
|
|
303
368
|
serializationObject.forceLayerMaskCheck = this.forceLayerMaskCheck;
|
|
@@ -315,6 +380,12 @@ export class NodeRenderGraphBaseObjectRendererBlock extends NodeRenderGraphBlock
|
|
|
315
380
|
this.depthTest = serializationObject.depthTest;
|
|
316
381
|
this.depthWrite = serializationObject.depthWrite;
|
|
317
382
|
this.renderMeshes = serializationObject.renderMeshes ?? true;
|
|
383
|
+
this.renderDepthOnlyMeshes = serializationObject.renderDepthOnlyMeshes ?? true;
|
|
384
|
+
this.renderOpaqueMeshes = serializationObject.renderOpaqueMeshes ?? true;
|
|
385
|
+
this.renderAlphaTestMeshes = serializationObject.renderAlphaTestMeshes ?? true;
|
|
386
|
+
this.renderTransparentMeshes = serializationObject.renderTransparentMeshes ?? true;
|
|
387
|
+
this.useOITForTransparentMeshes = serializationObject.useOITForTransparentMeshes ?? false;
|
|
388
|
+
this.oitPassCount = serializationObject.oitPassCount ?? 5;
|
|
318
389
|
this.renderParticles = serializationObject.renderParticles ?? true;
|
|
319
390
|
this.renderSprites = serializationObject.renderSprites ?? true;
|
|
320
391
|
this.forceLayerMaskCheck = serializationObject.forceLayerMaskCheck ?? true;
|
|
@@ -327,48 +398,67 @@ export class NodeRenderGraphBaseObjectRendererBlock extends NodeRenderGraphBlock
|
|
|
327
398
|
}
|
|
328
399
|
}
|
|
329
400
|
__decorate([
|
|
330
|
-
editableInPropertyPage("Is main object renderer", 0 /* PropertyTypeForEdition.Boolean */, "
|
|
401
|
+
editableInPropertyPage("Is main object renderer", 0 /* PropertyTypeForEdition.Boolean */, "GENERAL")
|
|
331
402
|
], NodeRenderGraphBaseObjectRendererBlock.prototype, "isMainObjectRenderer", null);
|
|
332
403
|
__decorate([
|
|
333
|
-
editableInPropertyPage("Depth test", 0 /* PropertyTypeForEdition.Boolean */, "
|
|
404
|
+
editableInPropertyPage("Depth test", 0 /* PropertyTypeForEdition.Boolean */, "GENERAL")
|
|
334
405
|
], NodeRenderGraphBaseObjectRendererBlock.prototype, "depthTest", null);
|
|
335
406
|
__decorate([
|
|
336
|
-
editableInPropertyPage("Depth write", 0 /* PropertyTypeForEdition.Boolean */, "
|
|
407
|
+
editableInPropertyPage("Depth write", 0 /* PropertyTypeForEdition.Boolean */, "GENERAL")
|
|
337
408
|
], NodeRenderGraphBaseObjectRendererBlock.prototype, "depthWrite", null);
|
|
338
409
|
__decorate([
|
|
339
|
-
editableInPropertyPage("Render meshes", 0 /* PropertyTypeForEdition.Boolean */, "RENDERING
|
|
410
|
+
editableInPropertyPage("Render meshes", 0 /* PropertyTypeForEdition.Boolean */, "RENDERING")
|
|
340
411
|
], NodeRenderGraphBaseObjectRendererBlock.prototype, "renderMeshes", null);
|
|
341
412
|
__decorate([
|
|
342
|
-
editableInPropertyPage("Render
|
|
413
|
+
editableInPropertyPage(" Render depth-only meshes", 0 /* PropertyTypeForEdition.Boolean */, "RENDERING")
|
|
414
|
+
], NodeRenderGraphBaseObjectRendererBlock.prototype, "renderDepthOnlyMeshes", null);
|
|
415
|
+
__decorate([
|
|
416
|
+
editableInPropertyPage(" Render opaque meshes", 0 /* PropertyTypeForEdition.Boolean */, "RENDERING")
|
|
417
|
+
], NodeRenderGraphBaseObjectRendererBlock.prototype, "renderOpaqueMeshes", null);
|
|
418
|
+
__decorate([
|
|
419
|
+
editableInPropertyPage(" Render alpha test meshes", 0 /* PropertyTypeForEdition.Boolean */, "RENDERING")
|
|
420
|
+
], NodeRenderGraphBaseObjectRendererBlock.prototype, "renderAlphaTestMeshes", null);
|
|
421
|
+
__decorate([
|
|
422
|
+
editableInPropertyPage(" Render transparent meshes", 0 /* PropertyTypeForEdition.Boolean */, "RENDERING")
|
|
423
|
+
], NodeRenderGraphBaseObjectRendererBlock.prototype, "renderTransparentMeshes", null);
|
|
424
|
+
__decorate([
|
|
425
|
+
editableInPropertyPage(" Use OIT for transparent meshes", 0 /* PropertyTypeForEdition.Boolean */, "RENDERING")
|
|
426
|
+
// eslint-disable-next-line @typescript-eslint/naming-convention
|
|
427
|
+
], NodeRenderGraphBaseObjectRendererBlock.prototype, "useOITForTransparentMeshes", null);
|
|
428
|
+
__decorate([
|
|
429
|
+
editableInPropertyPage(" Pass count", 2 /* PropertyTypeForEdition.Int */, "RENDERING", { min: 1, max: 20 })
|
|
430
|
+
], NodeRenderGraphBaseObjectRendererBlock.prototype, "oitPassCount", null);
|
|
431
|
+
__decorate([
|
|
432
|
+
editableInPropertyPage("Render particles", 0 /* PropertyTypeForEdition.Boolean */, "RENDERING")
|
|
343
433
|
], NodeRenderGraphBaseObjectRendererBlock.prototype, "renderParticles", null);
|
|
344
434
|
__decorate([
|
|
345
|
-
editableInPropertyPage("Render sprites", 0 /* PropertyTypeForEdition.Boolean */, "RENDERING
|
|
435
|
+
editableInPropertyPage("Render sprites", 0 /* PropertyTypeForEdition.Boolean */, "RENDERING")
|
|
346
436
|
], NodeRenderGraphBaseObjectRendererBlock.prototype, "renderSprites", null);
|
|
347
437
|
__decorate([
|
|
348
|
-
editableInPropertyPage("Force layer mask check", 0 /* PropertyTypeForEdition.Boolean */, "
|
|
438
|
+
editableInPropertyPage("Force layer mask check", 0 /* PropertyTypeForEdition.Boolean */, "GENERAL")
|
|
349
439
|
], NodeRenderGraphBaseObjectRendererBlock.prototype, "forceLayerMaskCheck", null);
|
|
350
440
|
__decorate([
|
|
351
|
-
editableInPropertyPage("
|
|
441
|
+
editableInPropertyPage("Render bounding boxes", 0 /* PropertyTypeForEdition.Boolean */, "RENDERING")
|
|
352
442
|
], NodeRenderGraphBaseObjectRendererBlock.prototype, "enableBoundingBoxRendering", null);
|
|
353
443
|
__decorate([
|
|
354
|
-
editableInPropertyPage("
|
|
444
|
+
editableInPropertyPage("Render outlines/overlays", 0 /* PropertyTypeForEdition.Boolean */, "RENDERING")
|
|
355
445
|
], NodeRenderGraphBaseObjectRendererBlock.prototype, "enableOutlineRendering", null);
|
|
356
446
|
__decorate([
|
|
357
|
-
editableInPropertyPage("Disable shadows", 0 /* PropertyTypeForEdition.Boolean */, "
|
|
447
|
+
editableInPropertyPage("Disable shadows", 0 /* PropertyTypeForEdition.Boolean */, "GENERAL")
|
|
358
448
|
], NodeRenderGraphBaseObjectRendererBlock.prototype, "disableShadows", null);
|
|
359
449
|
__decorate([
|
|
360
|
-
editableInPropertyPage("Disable image processing", 0 /* PropertyTypeForEdition.Boolean */, "
|
|
450
|
+
editableInPropertyPage("Disable image processing", 0 /* PropertyTypeForEdition.Boolean */, "GENERAL")
|
|
361
451
|
], NodeRenderGraphBaseObjectRendererBlock.prototype, "renderInLinearSpace", null);
|
|
362
452
|
__decorate([
|
|
363
|
-
editableInPropertyPage("Do not change aspect ratio", 0 /* PropertyTypeForEdition.Boolean */, "
|
|
453
|
+
editableInPropertyPage("Do not change aspect ratio", 0 /* PropertyTypeForEdition.Boolean */, "GENERAL")
|
|
364
454
|
], NodeRenderGraphBaseObjectRendererBlock.prototype, "doNotChangeAspectRatio", null);
|
|
365
455
|
__decorate([
|
|
366
|
-
editableInPropertyPage("Enable clustered lights", 0 /* PropertyTypeForEdition.Boolean */, "
|
|
456
|
+
editableInPropertyPage("Enable clustered lights", 0 /* PropertyTypeForEdition.Boolean */, "GENERAL")
|
|
367
457
|
], NodeRenderGraphBaseObjectRendererBlock.prototype, "enableClusteredLights", null);
|
|
368
458
|
__decorate([
|
|
369
|
-
editableInPropertyPage("Resolve MSAA colors", 0 /* PropertyTypeForEdition.Boolean */, "
|
|
459
|
+
editableInPropertyPage("Resolve MSAA colors", 0 /* PropertyTypeForEdition.Boolean */, "GENERAL")
|
|
370
460
|
], NodeRenderGraphBaseObjectRendererBlock.prototype, "resolveMSAAColors", null);
|
|
371
461
|
__decorate([
|
|
372
|
-
editableInPropertyPage("Resolve MSAA depth", 0 /* PropertyTypeForEdition.Boolean */, "
|
|
462
|
+
editableInPropertyPage("Resolve MSAA depth", 0 /* PropertyTypeForEdition.Boolean */, "GENERAL")
|
|
373
463
|
], NodeRenderGraphBaseObjectRendererBlock.prototype, "resolveMSAADepth", null);
|
|
374
464
|
//# 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 NodeRenderGraphResourceContainerBlock,\r\n FrameGraphShadowGeneratorTask,\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\nimport { FrameGraphObjectRendererTask } from \"core/FrameGraph/Tasks/Rendering/objectRendererTask\";\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 public override _additionalConstructionParameters: [boolean, boolean];\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 * @param doNotChangeAspectRatio True (default) to not change the aspect ratio of the scene in the RTT\r\n * @param enableClusteredLights True (default) to enable clustered lights\r\n */\r\n public constructor(name: string, frameGraph: FrameGraph, scene: Scene, doNotChangeAspectRatio = true, enableClusteredLights = true) {\r\n super(name, frameGraph, scene);\r\n\r\n this._additionalConstructionParameters = [doNotChangeAspectRatio, enableClusteredLights];\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 this._createFrameGraphObject();\r\n }\r\n\r\n protected _createFrameGraphObject(): void {\r\n this._frameGraphTask?.dispose();\r\n this._frameGraphTask = new FrameGraphObjectRendererTask(this.name, this._frameGraph, this._scene, {\r\n doNotChangeAspectRatio: this._additionalConstructionParameters![0] as boolean,\r\n enableClusteredLights: this._additionalConstructionParameters![1] as boolean,\r\n });\r\n }\r\n\r\n protected _saveState(state: { [key: string]: any }) {\r\n state.disabled = this._frameGraphTask.disabled;\r\n state.isMainObjectRenderer = this.isMainObjectRenderer;\r\n state.depthTest = this.depthTest;\r\n state.depthWrite = this.depthWrite;\r\n state.disableShadows = this.disableShadows;\r\n state.renderInLinearSpace = this.renderInLinearSpace;\r\n state.renderMeshes = this.renderMeshes;\r\n state.renderParticles = this.renderParticles;\r\n state.renderSprites = this.renderSprites;\r\n state.forceLayerMaskCheck = this.forceLayerMaskCheck;\r\n state.enableBoundingBoxRendering = this.enableBoundingBoxRendering;\r\n state.enableOutlineRendering = this.enableOutlineRendering;\r\n }\r\n\r\n protected _restoreState(state: { [key: string]: any }) {\r\n this._frameGraphTask.disabled = state.disabled;\r\n this.isMainObjectRenderer = state.isMainObjectRenderer;\r\n this.depthTest = state.depthTest;\r\n this.depthWrite = state.depthWrite;\r\n this.disableShadows = state.disableShadows;\r\n this.renderInLinearSpace = state.renderInLinearSpace;\r\n this.renderMeshes = state.renderMeshes;\r\n this.renderParticles = state.renderParticles;\r\n this.renderSprites = state.renderSprites;\r\n this.forceLayerMaskCheck = state.forceLayerMaskCheck;\r\n this.enableBoundingBoxRendering = state.enableBoundingBoxRendering;\r\n this.enableOutlineRendering = state.enableOutlineRendering;\r\n }\r\n\r\n protected _createFrameGraphObjectWithState(doNotChangeAspectRatio: boolean, enableClusteredLights: boolean): void {\r\n const state: { [key: string]: any } = {};\r\n\r\n this._saveState(state);\r\n\r\n this._additionalConstructionParameters = [doNotChangeAspectRatio, enableClusteredLights];\r\n\r\n this._createFrameGraphObject();\r\n\r\n this._restoreState(state);\r\n }\r\n\r\n /** Indicates that this object renderer is the main object renderer of the frame graph. */\r\n @editableInPropertyPage(\"Is main object renderer\", PropertyTypeForEdition.Boolean, \"RENDERING - OBJECTS\")\r\n public get isMainObjectRenderer() {\r\n return this._frameGraphTask.isMainObjectRenderer;\r\n }\r\n\r\n public set isMainObjectRenderer(value: boolean) {\r\n this._frameGraphTask.isMainObjectRenderer = value;\r\n }\r\n\r\n /** Indicates if depth testing must be enabled or disabled */\r\n @editableInPropertyPage(\"Depth test\", PropertyTypeForEdition.Boolean, \"RENDERING - OBJECTS\")\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, \"RENDERING - OBJECTS\")\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 meshes should be rendered */\r\n @editableInPropertyPage(\"Render meshes\", PropertyTypeForEdition.Boolean, \"RENDERING - OBJECTS\")\r\n public get renderMeshes() {\r\n return this._frameGraphTask.renderMeshes;\r\n }\r\n\r\n public set renderMeshes(value: boolean) {\r\n this._frameGraphTask.renderMeshes = value;\r\n }\r\n\r\n /** Indicates if particles should be rendered */\r\n @editableInPropertyPage(\"Render particles\", PropertyTypeForEdition.Boolean, \"RENDERING - OBJECTS\")\r\n public get renderParticles() {\r\n return this._frameGraphTask.renderParticles;\r\n }\r\n\r\n public set renderParticles(value: boolean) {\r\n this._frameGraphTask.renderParticles = value;\r\n }\r\n\r\n /** Indicates if sprites should be rendered */\r\n @editableInPropertyPage(\"Render sprites\", PropertyTypeForEdition.Boolean, \"RENDERING - OBJECTS\")\r\n public get renderSprites() {\r\n return this._frameGraphTask.renderSprites;\r\n }\r\n\r\n public set renderSprites(value: boolean) {\r\n this._frameGraphTask.renderSprites = value;\r\n }\r\n\r\n /** Indicates if layer mask check must be forced */\r\n @editableInPropertyPage(\"Force layer mask check\", PropertyTypeForEdition.Boolean, \"RENDERING - OBJECTS\")\r\n public get forceLayerMaskCheck() {\r\n return this._frameGraphTask.forceLayerMaskCheck;\r\n }\r\n\r\n public set forceLayerMaskCheck(value: boolean) {\r\n this._frameGraphTask.forceLayerMaskCheck = value;\r\n }\r\n\r\n /** Indicates if bounding boxes should be rendered */\r\n @editableInPropertyPage(\"Enable bounding box rendering\", PropertyTypeForEdition.Boolean, \"RENDERING - OBJECTS\")\r\n public get enableBoundingBoxRendering() {\r\n return this._frameGraphTask.enableBoundingBoxRendering;\r\n }\r\n\r\n public set enableBoundingBoxRendering(value: boolean) {\r\n this._frameGraphTask.enableBoundingBoxRendering = value;\r\n }\r\n\r\n /** Indicates if outlines/overlays should be rendered */\r\n @editableInPropertyPage(\"Enable outline/overlay rendering\", PropertyTypeForEdition.Boolean, \"RENDERING - OBJECTS\")\r\n public get enableOutlineRendering() {\r\n return this._frameGraphTask.enableOutlineRendering;\r\n }\r\n\r\n public set enableOutlineRendering(value: boolean) {\r\n this._frameGraphTask.enableOutlineRendering = value;\r\n }\r\n\r\n /** Indicates if shadows must be enabled or disabled */\r\n @editableInPropertyPage(\"Disable shadows\", PropertyTypeForEdition.Boolean, \"RENDERING - OBJECTS\")\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, \"RENDERING - OBJECTS\")\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 /** True (default) to not change the aspect ratio of the scene in the RTT */\r\n @editableInPropertyPage(\"Do not change aspect ratio\", PropertyTypeForEdition.Boolean, \"RENDERING - OBJECTS\")\r\n public get doNotChangeAspectRatio() {\r\n return this._frameGraphTask.objectRenderer.options.doNotChangeAspectRatio;\r\n }\r\n\r\n public set doNotChangeAspectRatio(value: boolean) {\r\n this._createFrameGraphObjectWithState(value, this.enableClusteredLights);\r\n }\r\n\r\n /** True (default) to enable clustered lights */\r\n @editableInPropertyPage(\"Enable clustered lights\", PropertyTypeForEdition.Boolean, \"RENDERING - OBJECTS\")\r\n public get enableClusteredLights() {\r\n return this._frameGraphTask.objectRenderer.options.enableClusteredLights;\r\n }\r\n\r\n public set enableClusteredLights(value: boolean) {\r\n this._createFrameGraphObjectWithState(this.doNotChangeAspectRatio, value);\r\n }\r\n\r\n /** If true, MSAA color textures will be resolved at the end of the render pass (default: true) */\r\n @editableInPropertyPage(\"Resolve MSAA colors\", PropertyTypeForEdition.Boolean, \"RENDERING - OBJECTS\")\r\n public get resolveMSAAColors() {\r\n return this._frameGraphTask.resolveMSAAColors;\r\n }\r\n\r\n public set resolveMSAAColors(value: boolean) {\r\n this._frameGraphTask.resolveMSAAColors = value;\r\n }\r\n\r\n /** If true, MSAA depth texture will be resolved at the end of the render pass (default: false) */\r\n @editableInPropertyPage(\"Resolve MSAA depth\", PropertyTypeForEdition.Boolean, \"RENDERING - OBJECTS\")\r\n public get resolveMSAADepth() {\r\n return this._frameGraphTask.resolveMSAADepth;\r\n }\r\n\r\n public set resolveMSAADepth(value: boolean) {\r\n this._frameGraphTask.resolveMSAADepth = 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 for (const input of container.inputs) {\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}.isMainObjectRenderer = ${this.isMainObjectRenderer};`);\r\n codes.push(`${this._codeVariableName}.depthTest = ${this.depthTest};`);\r\n codes.push(`${this._codeVariableName}.depthWrite = ${this.depthWrite};`);\r\n codes.push(`${this._codeVariableName}.renderMeshes = ${this.renderMeshes};`);\r\n codes.push(`${this._codeVariableName}.renderParticles = ${this.renderParticles};`);\r\n codes.push(`${this._codeVariableName}.renderSprites = ${this.renderSprites};`);\r\n codes.push(`${this._codeVariableName}.forceLayerMaskCheck = ${this.forceLayerMaskCheck};`);\r\n codes.push(`${this._codeVariableName}.enableBoundingBoxRendering = ${this.enableBoundingBoxRendering};`);\r\n codes.push(`${this._codeVariableName}.enableOutlineRendering = ${this.enableOutlineRendering};`);\r\n codes.push(`${this._codeVariableName}.disableShadows = ${this.disableShadows};`);\r\n codes.push(`${this._codeVariableName}.renderInLinearSpace = ${this.renderInLinearSpace};`);\r\n codes.push(`${this._codeVariableName}.resolveMSAAColors = ${this.resolveMSAAColors};`);\r\n codes.push(`${this._codeVariableName}.resolveMSAADepth = ${this.resolveMSAADepth};`);\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.isMainObjectRenderer = this.isMainObjectRenderer;\r\n serializationObject.depthTest = this.depthTest;\r\n serializationObject.depthWrite = this.depthWrite;\r\n serializationObject.renderMeshes = this.renderMeshes;\r\n serializationObject.renderParticles = this.renderParticles;\r\n serializationObject.renderSprites = this.renderSprites;\r\n serializationObject.forceLayerMaskCheck = this.forceLayerMaskCheck;\r\n serializationObject.enableBoundingBoxRendering = this.enableBoundingBoxRendering;\r\n serializationObject.enableOutlineRendering = this.enableOutlineRendering;\r\n serializationObject.disableShadows = this.disableShadows;\r\n serializationObject.renderInLinearSpace = this.renderInLinearSpace;\r\n serializationObject.resolveMSAAColors = this.resolveMSAAColors;\r\n serializationObject.resolveMSAADepth = this.resolveMSAADepth;\r\n return serializationObject;\r\n }\r\n\r\n public override _deserialize(serializationObject: any) {\r\n super._deserialize(serializationObject);\r\n this.isMainObjectRenderer = !!serializationObject.isMainObjectRenderer;\r\n this.depthTest = serializationObject.depthTest;\r\n this.depthWrite = serializationObject.depthWrite;\r\n this.renderMeshes = serializationObject.renderMeshes ?? true;\r\n this.renderParticles = serializationObject.renderParticles ?? true;\r\n this.renderSprites = serializationObject.renderSprites ?? true;\r\n this.forceLayerMaskCheck = serializationObject.forceLayerMaskCheck ?? true;\r\n this.enableBoundingBoxRendering = serializationObject.enableBoundingBoxRendering ?? true;\r\n this.enableOutlineRendering = serializationObject.enableOutlineRendering ?? true;\r\n this.disableShadows = serializationObject.disableShadows;\r\n this.renderInLinearSpace = !!serializationObject.renderInLinearSpace;\r\n this.resolveMSAAColors = serializationObject.resolveMSAAColors ?? true;\r\n this.resolveMSAADepth = serializationObject.resolveMSAADepth ?? false;\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 NodeRenderGraphResourceContainerBlock,\r\n FrameGraphShadowGeneratorTask,\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\nimport { FrameGraphObjectRendererTask } from \"core/FrameGraph/Tasks/Rendering/objectRendererTask\";\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 public override _additionalConstructionParameters: [boolean, boolean];\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 * @param doNotChangeAspectRatio True (default) to not change the aspect ratio of the scene in the RTT\r\n * @param enableClusteredLights True (default) to enable clustered lights\r\n */\r\n public constructor(name: string, frameGraph: FrameGraph, scene: Scene, doNotChangeAspectRatio = true, enableClusteredLights = true) {\r\n super(name, frameGraph, scene);\r\n\r\n this._additionalConstructionParameters = [doNotChangeAspectRatio, enableClusteredLights];\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 this._createFrameGraphObject();\r\n }\r\n\r\n protected _createFrameGraphObject(): void {\r\n this._frameGraphTask?.dispose();\r\n this._frameGraphTask = new FrameGraphObjectRendererTask(this.name, this._frameGraph, this._scene, {\r\n doNotChangeAspectRatio: this._additionalConstructionParameters![0] as boolean,\r\n enableClusteredLights: this._additionalConstructionParameters![1] as boolean,\r\n });\r\n }\r\n\r\n protected _saveState(state: { [key: string]: any }) {\r\n state.disabled = this._frameGraphTask.disabled;\r\n state.isMainObjectRenderer = this.isMainObjectRenderer;\r\n state.depthTest = this.depthTest;\r\n state.depthWrite = this.depthWrite;\r\n state.disableShadows = this.disableShadows;\r\n state.renderInLinearSpace = this.renderInLinearSpace;\r\n state.renderMeshes = this.renderMeshes;\r\n state.renderDepthOnlyMeshes = this.renderDepthOnlyMeshes;\r\n state.renderOpaqueMeshes = this.renderOpaqueMeshes;\r\n state.renderAlphaTestMeshes = this.renderAlphaTestMeshes;\r\n state.renderTransparentMeshes = this.renderTransparentMeshes;\r\n state.useOITForTransparentMeshes = this.useOITForTransparentMeshes;\r\n state.renderParticles = this.renderParticles;\r\n state.renderSprites = this.renderSprites;\r\n state.forceLayerMaskCheck = this.forceLayerMaskCheck;\r\n state.enableBoundingBoxRendering = this.enableBoundingBoxRendering;\r\n state.enableOutlineRendering = this.enableOutlineRendering;\r\n }\r\n\r\n protected _restoreState(state: { [key: string]: any }) {\r\n this._frameGraphTask.disabled = state.disabled;\r\n this.isMainObjectRenderer = state.isMainObjectRenderer;\r\n this.depthTest = state.depthTest;\r\n this.depthWrite = state.depthWrite;\r\n this.disableShadows = state.disableShadows;\r\n this.renderInLinearSpace = state.renderInLinearSpace;\r\n this.renderMeshes = state.renderMeshes;\r\n this.renderDepthOnlyMeshes = state.renderDepthOnlyMeshes;\r\n this.renderOpaqueMeshes = state.renderOpaqueMeshes;\r\n this.renderAlphaTestMeshes = state.renderAlphaTestMeshes;\r\n this.renderTransparentMeshes = state.renderTransparentMeshes;\r\n this.useOITForTransparentMeshes = state.useOITForTransparentMeshes;\r\n this.renderParticles = state.renderParticles;\r\n this.renderSprites = state.renderSprites;\r\n this.forceLayerMaskCheck = state.forceLayerMaskCheck;\r\n this.enableBoundingBoxRendering = state.enableBoundingBoxRendering;\r\n this.enableOutlineRendering = state.enableOutlineRendering;\r\n }\r\n\r\n protected _createFrameGraphObjectWithState(doNotChangeAspectRatio: boolean, enableClusteredLights: boolean): void {\r\n const state: { [key: string]: any } = {};\r\n\r\n this._saveState(state);\r\n\r\n this._additionalConstructionParameters = [doNotChangeAspectRatio, enableClusteredLights];\r\n\r\n this._createFrameGraphObject();\r\n\r\n this._restoreState(state);\r\n }\r\n\r\n /** Indicates that this object renderer is the main object renderer of the frame graph. */\r\n @editableInPropertyPage(\"Is main object renderer\", PropertyTypeForEdition.Boolean, \"GENERAL\")\r\n public get isMainObjectRenderer() {\r\n return this._frameGraphTask.isMainObjectRenderer;\r\n }\r\n\r\n public set isMainObjectRenderer(value: boolean) {\r\n this._frameGraphTask.isMainObjectRenderer = value;\r\n }\r\n\r\n /** Indicates if depth testing must be enabled or disabled */\r\n @editableInPropertyPage(\"Depth test\", PropertyTypeForEdition.Boolean, \"GENERAL\")\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, \"GENERAL\")\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 meshes should be rendered */\r\n @editableInPropertyPage(\"Render meshes\", PropertyTypeForEdition.Boolean, \"RENDERING\")\r\n public get renderMeshes() {\r\n return this._frameGraphTask.renderMeshes;\r\n }\r\n\r\n public set renderMeshes(value: boolean) {\r\n this._frameGraphTask.renderMeshes = value;\r\n }\r\n\r\n /** Indicates if depth-only meshes should be rendered */\r\n @editableInPropertyPage(\" Render depth-only meshes\", PropertyTypeForEdition.Boolean, \"RENDERING\")\r\n public get renderDepthOnlyMeshes() {\r\n return this._frameGraphTask.renderDepthOnlyMeshes;\r\n }\r\n\r\n public set renderDepthOnlyMeshes(value: boolean) {\r\n this._frameGraphTask.renderDepthOnlyMeshes = value;\r\n }\r\n\r\n /** Indicates if opaque meshes should be rendered */\r\n @editableInPropertyPage(\" Render opaque meshes\", PropertyTypeForEdition.Boolean, \"RENDERING\")\r\n public get renderOpaqueMeshes() {\r\n return this._frameGraphTask.renderOpaqueMeshes;\r\n }\r\n\r\n public set renderOpaqueMeshes(value: boolean) {\r\n this._frameGraphTask.renderOpaqueMeshes = value;\r\n }\r\n\r\n /** Indicates if alpha tested meshes should be rendered */\r\n @editableInPropertyPage(\" Render alpha test meshes\", PropertyTypeForEdition.Boolean, \"RENDERING\")\r\n public get renderAlphaTestMeshes() {\r\n return this._frameGraphTask.renderAlphaTestMeshes;\r\n }\r\n\r\n public set renderAlphaTestMeshes(value: boolean) {\r\n this._frameGraphTask.renderAlphaTestMeshes = value;\r\n }\r\n\r\n /** Indicates if transparent meshes should be rendered */\r\n @editableInPropertyPage(\" Render transparent meshes\", PropertyTypeForEdition.Boolean, \"RENDERING\")\r\n public get renderTransparentMeshes() {\r\n return this._frameGraphTask.renderTransparentMeshes;\r\n }\r\n\r\n public set renderTransparentMeshes(value: boolean) {\r\n this._frameGraphTask.renderTransparentMeshes = value;\r\n }\r\n\r\n /** Indicates if use of Order Independent Transparency (OIT) for transparent meshes should be enabled */\r\n @editableInPropertyPage(\" Use OIT for transparent meshes\", PropertyTypeForEdition.Boolean, \"RENDERING\")\r\n // eslint-disable-next-line @typescript-eslint/naming-convention\r\n public get useOITForTransparentMeshes() {\r\n return this._frameGraphTask.useOITForTransparentMeshes;\r\n }\r\n\r\n // eslint-disable-next-line @typescript-eslint/naming-convention\r\n public set useOITForTransparentMeshes(value: boolean) {\r\n this._frameGraphTask.useOITForTransparentMeshes = value;\r\n }\r\n\r\n /** Defines the number of passes to use for Order Independent Transparency */\r\n @editableInPropertyPage(\" Pass count\", PropertyTypeForEdition.Int, \"RENDERING\", { min: 1, max: 20 })\r\n public get oitPassCount(): number {\r\n return this._frameGraphTask.oitPassCount;\r\n }\r\n\r\n public set oitPassCount(value: number) {\r\n this._frameGraphTask.oitPassCount = value;\r\n }\r\n\r\n /** Indicates if particles should be rendered */\r\n @editableInPropertyPage(\"Render particles\", PropertyTypeForEdition.Boolean, \"RENDERING\")\r\n public get renderParticles() {\r\n return this._frameGraphTask.renderParticles;\r\n }\r\n\r\n public set renderParticles(value: boolean) {\r\n this._frameGraphTask.renderParticles = value;\r\n }\r\n\r\n /** Indicates if sprites should be rendered */\r\n @editableInPropertyPage(\"Render sprites\", PropertyTypeForEdition.Boolean, \"RENDERING\")\r\n public get renderSprites() {\r\n return this._frameGraphTask.renderSprites;\r\n }\r\n\r\n public set renderSprites(value: boolean) {\r\n this._frameGraphTask.renderSprites = value;\r\n }\r\n\r\n /** Indicates if layer mask check must be forced */\r\n @editableInPropertyPage(\"Force layer mask check\", PropertyTypeForEdition.Boolean, \"GENERAL\")\r\n public get forceLayerMaskCheck() {\r\n return this._frameGraphTask.forceLayerMaskCheck;\r\n }\r\n\r\n public set forceLayerMaskCheck(value: boolean) {\r\n this._frameGraphTask.forceLayerMaskCheck = value;\r\n }\r\n\r\n /** Indicates if bounding boxes should be rendered */\r\n @editableInPropertyPage(\"Render bounding boxes\", PropertyTypeForEdition.Boolean, \"RENDERING\")\r\n public get enableBoundingBoxRendering() {\r\n return this._frameGraphTask.enableBoundingBoxRendering;\r\n }\r\n\r\n public set enableBoundingBoxRendering(value: boolean) {\r\n this._frameGraphTask.enableBoundingBoxRendering = value;\r\n }\r\n\r\n /** Indicates if outlines/overlays should be rendered */\r\n @editableInPropertyPage(\"Render outlines/overlays\", PropertyTypeForEdition.Boolean, \"RENDERING\")\r\n public get enableOutlineRendering() {\r\n return this._frameGraphTask.enableOutlineRendering;\r\n }\r\n\r\n public set enableOutlineRendering(value: boolean) {\r\n this._frameGraphTask.enableOutlineRendering = value;\r\n }\r\n\r\n /** Indicates if shadows must be enabled or disabled */\r\n @editableInPropertyPage(\"Disable shadows\", PropertyTypeForEdition.Boolean, \"GENERAL\")\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, \"GENERAL\")\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 /** True (default) to not change the aspect ratio of the scene in the RTT */\r\n @editableInPropertyPage(\"Do not change aspect ratio\", PropertyTypeForEdition.Boolean, \"GENERAL\")\r\n public get doNotChangeAspectRatio() {\r\n return this._frameGraphTask.objectRenderer.options.doNotChangeAspectRatio;\r\n }\r\n\r\n public set doNotChangeAspectRatio(value: boolean) {\r\n this._createFrameGraphObjectWithState(value, this.enableClusteredLights);\r\n }\r\n\r\n /** True (default) to enable clustered lights */\r\n @editableInPropertyPage(\"Enable clustered lights\", PropertyTypeForEdition.Boolean, \"GENERAL\")\r\n public get enableClusteredLights() {\r\n return this._frameGraphTask.objectRenderer.options.enableClusteredLights;\r\n }\r\n\r\n public set enableClusteredLights(value: boolean) {\r\n this._createFrameGraphObjectWithState(this.doNotChangeAspectRatio, value);\r\n }\r\n\r\n /** If true, MSAA color textures will be resolved at the end of the render pass (default: true) */\r\n @editableInPropertyPage(\"Resolve MSAA colors\", PropertyTypeForEdition.Boolean, \"GENERAL\")\r\n public get resolveMSAAColors() {\r\n return this._frameGraphTask.resolveMSAAColors;\r\n }\r\n\r\n public set resolveMSAAColors(value: boolean) {\r\n this._frameGraphTask.resolveMSAAColors = value;\r\n }\r\n\r\n /** If true, MSAA depth texture will be resolved at the end of the render pass (default: false) */\r\n @editableInPropertyPage(\"Resolve MSAA depth\", PropertyTypeForEdition.Boolean, \"GENERAL\")\r\n public get resolveMSAADepth() {\r\n return this._frameGraphTask.resolveMSAADepth;\r\n }\r\n\r\n public set resolveMSAADepth(value: boolean) {\r\n this._frameGraphTask.resolveMSAADepth = 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 for (const input of container.inputs) {\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}.isMainObjectRenderer = ${this.isMainObjectRenderer};`);\r\n codes.push(`${this._codeVariableName}.depthTest = ${this.depthTest};`);\r\n codes.push(`${this._codeVariableName}.depthWrite = ${this.depthWrite};`);\r\n codes.push(`${this._codeVariableName}.renderMeshes = ${this.renderMeshes};`);\r\n codes.push(`${this._codeVariableName}.renderDepthOnlyMeshes = ${this.renderDepthOnlyMeshes};`);\r\n codes.push(`${this._codeVariableName}.renderOpaqueMeshes = ${this.renderOpaqueMeshes};`);\r\n codes.push(`${this._codeVariableName}.renderAlphaTestMeshes = ${this.renderAlphaTestMeshes};`);\r\n codes.push(`${this._codeVariableName}.renderTransparentMeshes = ${this.renderTransparentMeshes};`);\r\n codes.push(`${this._codeVariableName}.useOITForTransparentMeshes = ${this.useOITForTransparentMeshes};`);\r\n codes.push(`${this._codeVariableName}.oitPassCount = ${this.oitPassCount};`);\r\n codes.push(`${this._codeVariableName}.renderParticles = ${this.renderParticles};`);\r\n codes.push(`${this._codeVariableName}.renderSprites = ${this.renderSprites};`);\r\n codes.push(`${this._codeVariableName}.forceLayerMaskCheck = ${this.forceLayerMaskCheck};`);\r\n codes.push(`${this._codeVariableName}.enableBoundingBoxRendering = ${this.enableBoundingBoxRendering};`);\r\n codes.push(`${this._codeVariableName}.enableOutlineRendering = ${this.enableOutlineRendering};`);\r\n codes.push(`${this._codeVariableName}.disableShadows = ${this.disableShadows};`);\r\n codes.push(`${this._codeVariableName}.renderInLinearSpace = ${this.renderInLinearSpace};`);\r\n codes.push(`${this._codeVariableName}.resolveMSAAColors = ${this.resolveMSAAColors};`);\r\n codes.push(`${this._codeVariableName}.resolveMSAADepth = ${this.resolveMSAADepth};`);\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.isMainObjectRenderer = this.isMainObjectRenderer;\r\n serializationObject.depthTest = this.depthTest;\r\n serializationObject.depthWrite = this.depthWrite;\r\n serializationObject.renderMeshes = this.renderMeshes;\r\n serializationObject.renderDepthOnlyMeshes = this.renderDepthOnlyMeshes;\r\n serializationObject.renderOpaqueMeshes = this.renderOpaqueMeshes;\r\n serializationObject.renderAlphaTestMeshes = this.renderAlphaTestMeshes;\r\n serializationObject.renderTransparentMeshes = this.renderTransparentMeshes;\r\n serializationObject.useOITForTransparentMeshes = this.useOITForTransparentMeshes;\r\n serializationObject.oitPassCount = this.oitPassCount;\r\n serializationObject.renderParticles = this.renderParticles;\r\n serializationObject.renderSprites = this.renderSprites;\r\n serializationObject.forceLayerMaskCheck = this.forceLayerMaskCheck;\r\n serializationObject.enableBoundingBoxRendering = this.enableBoundingBoxRendering;\r\n serializationObject.enableOutlineRendering = this.enableOutlineRendering;\r\n serializationObject.disableShadows = this.disableShadows;\r\n serializationObject.renderInLinearSpace = this.renderInLinearSpace;\r\n serializationObject.resolveMSAAColors = this.resolveMSAAColors;\r\n serializationObject.resolveMSAADepth = this.resolveMSAADepth;\r\n return serializationObject;\r\n }\r\n\r\n public override _deserialize(serializationObject: any) {\r\n super._deserialize(serializationObject);\r\n this.isMainObjectRenderer = !!serializationObject.isMainObjectRenderer;\r\n this.depthTest = serializationObject.depthTest;\r\n this.depthWrite = serializationObject.depthWrite;\r\n this.renderMeshes = serializationObject.renderMeshes ?? true;\r\n this.renderDepthOnlyMeshes = serializationObject.renderDepthOnlyMeshes ?? true;\r\n this.renderOpaqueMeshes = serializationObject.renderOpaqueMeshes ?? true;\r\n this.renderAlphaTestMeshes = serializationObject.renderAlphaTestMeshes ?? true;\r\n this.renderTransparentMeshes = serializationObject.renderTransparentMeshes ?? true;\r\n this.useOITForTransparentMeshes = serializationObject.useOITForTransparentMeshes ?? false;\r\n this.oitPassCount = serializationObject.oitPassCount ?? 5;\r\n this.renderParticles = serializationObject.renderParticles ?? true;\r\n this.renderSprites = serializationObject.renderSprites ?? true;\r\n this.forceLayerMaskCheck = serializationObject.forceLayerMaskCheck ?? true;\r\n this.enableBoundingBoxRendering = serializationObject.enableBoundingBoxRendering ?? true;\r\n this.enableOutlineRendering = serializationObject.enableOutlineRendering ?? true;\r\n this.disableShadows = serializationObject.disableShadows;\r\n this.renderInLinearSpace = !!serializationObject.renderInLinearSpace;\r\n this.resolveMSAAColors = serializationObject.resolveMSAAColors ?? true;\r\n this.resolveMSAADepth = serializationObject.resolveMSAADepth ?? false;\r\n }\r\n}\r\n"]}
|
|
@@ -418,25 +418,25 @@ export class NodeRenderGraphGeometryRendererBlock extends NodeRenderGraphBaseObj
|
|
|
418
418
|
}
|
|
419
419
|
}
|
|
420
420
|
__decorate([
|
|
421
|
-
editableInPropertyPage("Texture width", 2 /* PropertyTypeForEdition.Int */, "
|
|
421
|
+
editableInPropertyPage("Texture width", 2 /* PropertyTypeForEdition.Int */, "GEOMETRY")
|
|
422
422
|
], NodeRenderGraphGeometryRendererBlock.prototype, "width", null);
|
|
423
423
|
__decorate([
|
|
424
|
-
editableInPropertyPage("Texture height", 2 /* PropertyTypeForEdition.Int */, "
|
|
424
|
+
editableInPropertyPage("Texture height", 2 /* PropertyTypeForEdition.Int */, "GEOMETRY")
|
|
425
425
|
], NodeRenderGraphGeometryRendererBlock.prototype, "height", null);
|
|
426
426
|
__decorate([
|
|
427
|
-
editableInPropertyPage("Size is in percentage", 0 /* PropertyTypeForEdition.Boolean */, "
|
|
427
|
+
editableInPropertyPage("Size is in percentage", 0 /* PropertyTypeForEdition.Boolean */, "GEOMETRY")
|
|
428
428
|
], NodeRenderGraphGeometryRendererBlock.prototype, "sizeInPercentage", null);
|
|
429
429
|
__decorate([
|
|
430
|
-
editableInPropertyPage("Samples", 2 /* PropertyTypeForEdition.Int */, "
|
|
430
|
+
editableInPropertyPage("Samples", 2 /* PropertyTypeForEdition.Int */, "GEOMETRY", { min: 1, max: 8 })
|
|
431
431
|
], NodeRenderGraphGeometryRendererBlock.prototype, "samples", null);
|
|
432
432
|
__decorate([
|
|
433
|
-
editableInPropertyPage("Reverse culling", 0 /* PropertyTypeForEdition.Boolean */, "
|
|
433
|
+
editableInPropertyPage("Reverse culling", 0 /* PropertyTypeForEdition.Boolean */, "GEOMETRY")
|
|
434
434
|
], NodeRenderGraphGeometryRendererBlock.prototype, "reverseCulling", null);
|
|
435
435
|
__decorate([
|
|
436
|
-
editableInPropertyPage("Don't render if material depth write is disabled", 0 /* PropertyTypeForEdition.Boolean */, "
|
|
436
|
+
editableInPropertyPage("Don't render if material depth write is disabled", 0 /* PropertyTypeForEdition.Boolean */, "GEOMETRY")
|
|
437
437
|
], NodeRenderGraphGeometryRendererBlock.prototype, "dontRenderWhenMaterialDepthWriteIsDisabled", null);
|
|
438
438
|
__decorate([
|
|
439
|
-
editableInPropertyPage("Disable depth pre-pass", 0 /* PropertyTypeForEdition.Boolean */, "
|
|
439
|
+
editableInPropertyPage("Disable depth pre-pass", 0 /* PropertyTypeForEdition.Boolean */, "GEOMETRY")
|
|
440
440
|
], NodeRenderGraphGeometryRendererBlock.prototype, "disableDepthPrePass", null);
|
|
441
441
|
__decorate([
|
|
442
442
|
editableInPropertyPage("Format", 9 /* PropertyTypeForEdition.TextureFormat */, "OUTPUT - VIEW DEPTH")
|