Modify advanced rendering composer logic in viewport-host.ts

This commit is contained in:
2026-04-02 22:17:49 +02:00
parent c61b416538
commit 5ae467f103

View File

@@ -523,11 +523,10 @@ export class ViewportHost {
}
private syncAdvancedRenderingComposer(settings: AdvancedRenderingSettings) {
const shouldUseComposer = settings.enabled;
const shouldUseComposer = settings.enabled && this.viewMode === "perspective";
const settingsChanged =
this.currentAdvancedRenderingSettings === null ||
!areAdvancedRenderingSettingsEqual(this.currentAdvancedRenderingSettings, settings);
const cameraModeChanged = this.currentComposerCameraMode !== this.viewMode;
if (!shouldUseComposer) {
if (this.advancedRenderingComposer !== null) {
@@ -535,12 +534,13 @@ export class ViewportHost {
this.advancedRenderingComposer = null;
}
this.currentAdvancedRenderingSettings = null;
this.currentAdvancedRenderingSettings = settings.enabled ? cloneAdvancedRenderingSettings(settings) : null;
this.currentComposerCameraMode = this.viewMode;
this.renderer.autoClear = true;
return;
}
if (this.advancedRenderingComposer !== null && !settingsChanged && !cameraModeChanged) {
if (this.advancedRenderingComposer !== null && !settingsChanged) {
return;
}
@@ -548,9 +548,9 @@ export class ViewportHost {
this.advancedRenderingComposer.dispose();
}
this.advancedRenderingComposer = createAdvancedRenderingComposer(this.renderer, this.scene, this.getActiveCamera(), settings);
this.advancedRenderingComposer = createAdvancedRenderingComposer(this.renderer, this.scene, this.perspectiveCamera, settings);
this.currentAdvancedRenderingSettings = cloneAdvancedRenderingSettings(settings);
this.currentComposerCameraMode = this.viewMode;
this.currentComposerCameraMode = "perspective";
this.renderer.autoClear = false;
}