From 9a7fb25533bbf4607d3dd54a7f7d1302e4f32025 Mon Sep 17 00:00:00 2001 From: unanmed <1319491857@qq.com> Date: Wed, 26 Nov 2025 23:52:41 +0800 Subject: [PATCH] =?UTF-8?q?feat:=20=E5=9C=B0=E5=9B=BE=E5=90=8E=E5=A4=84?= =?UTF-8?q?=E7=90=86=E5=AF=B9=E8=B1=A1=E6=B7=BB=E5=8A=A0=E5=90=AF=E7=94=A8?= =?UTF-8?q?=E7=A6=81=E7=94=A8=E6=8E=A5=E5=8F=A3?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../client-modules/src/render/map/renderer.ts | 6 ++++-- .../client-modules/src/render/map/types.ts | 13 +++++++++++++ 2 files changed, 17 insertions(+), 2 deletions(-) diff --git a/packages-user/client-modules/src/render/map/renderer.ts b/packages-user/client-modules/src/render/map/renderer.ts index 1ffd930..70468e4 100644 --- a/packages-user/client-modules/src/render/map/renderer.ts +++ b/packages-user/client-modules/src/render/map/renderer.ts @@ -1420,7 +1420,9 @@ export class MapRenderer this.viewportHeight ); - if (this.postEffects.length > 1) { + const postEffects = this.postEffects.filter(v => v.enabled); + + if (postEffects.length > 1) { gl.bindFramebuffer(gl.FRAMEBUFFER, pingFramebuffer); } else { gl.bindFramebuffer(gl.FRAMEBUFFER, null); @@ -1484,7 +1486,7 @@ export class MapRenderer let inputTextrue = pongTexture2D; let outputFBO: WebGLFramebuffer | null = pingFramebuffer; - this.postEffects.forEach((v, i, a) => { + postEffects.forEach((v, i, a) => { v.render(gl, inputTextrue, outputFBO, data); if (inputTextrue === pongTexture2D) { inputTextrue = pingTexture2D; diff --git a/packages-user/client-modules/src/render/map/types.ts b/packages-user/client-modules/src/render/map/types.ts index 5e69984..6571ff2 100644 --- a/packages-user/client-modules/src/render/map/types.ts +++ b/packages-user/client-modules/src/render/map/types.ts @@ -281,6 +281,19 @@ export interface IMapRendererTicker { } export interface IMapRendererPostEffect { + /** 当前后处理对象是否启用 */ + readonly enabled: boolean; + + /** + * 启用此后处理对象 + */ + enable(): void; + + /** + * 禁用此后处理对象 + */ + disable(): void; + /** * 初始化渲染器效果对象,一般是编译着色器、准备数据缓冲区等 * @param gl WebGL2 画布上下文