From 3b3fbdca564e1436e04aeeb5a2e51d70167a0d45 Mon Sep 17 00:00:00 2001 From: Martin Valigursky Date: Tue, 1 Oct 2024 16:10:34 +0100 Subject: [PATCH] warning when render target is set up after render passes --- src/framework/components/camera/component.js | 13 ++++++++++--- 1 file changed, 10 insertions(+), 3 deletions(-) diff --git a/src/framework/components/camera/component.js b/src/framework/components/camera/component.js index 3020ff19aa5..25ad2bcfd8e 100644 --- a/src/framework/components/camera/component.js +++ b/src/framework/components/camera/component.js @@ -231,13 +231,13 @@ class CameraComponent extends Component { /** * Sets the render passes the camera uses for rendering, instead of its default rendering. - * Set this to an empty array to return to the default behavior. + * Set this to null to return to the default behavior. * - * @type {RenderPass[]} + * @type {RenderPass[]|null} * @ignore */ set renderPasses(passes) { - this._camera.renderPasses = passes; + this._camera.renderPasses = passes || []; this.dirtyLayerCompositionCameras(); this.system.app.scene.updateShaders = true; } @@ -840,6 +840,13 @@ class CameraComponent extends Component { * @type {RenderTarget} */ set renderTarget(value) { + + Debug.call(() => { + if (this._camera.renderPasses.length > 0) { + Debug.warn(`Setting a render target on the camera ${this.entity.name} after the render passes is not supported, set it up first.`); + } + }); + this._camera.renderTarget = value; this.dirtyLayerCompositionCameras(); }