From 8a3694c599f9fdfcd40fa025b2eb6bac3a55504d Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E6=9E=97=E7=82=B3=E6=9D=83?= <695601626@qq.com> Date: Wed, 31 Dec 2025 10:11:14 +0800 Subject: [PATCH 1/2] TSL: use raw data for `DebugNode` callback (#32638) --- src/nodes/utils/DebugNode.js | 20 ++++++++++---------- 1 file changed, 10 insertions(+), 10 deletions(-) diff --git a/src/nodes/utils/DebugNode.js b/src/nodes/utils/DebugNode.js index a771a790bbfcaf..37861ab61cbda9 100644 --- a/src/nodes/utils/DebugNode.js +++ b/src/nodes/utils/DebugNode.js @@ -42,21 +42,21 @@ class DebugNode extends TempNode { const callback = this.callback; const snippet = this.node.build( builder ); - const title = '--- TSL debug - ' + builder.shaderStage + ' shader ---'; - const border = '-'.repeat( title.length ); - - let code = ''; - code += '// #' + title + '#\n'; - code += builder.flow.code.replace( /^\t/mg, '' ) + '\n'; - code += '/* ... */ ' + snippet + ' /* ... */\n'; - code += '// #' + border + '#\n'; - if ( callback !== null ) { - callback( builder, code ); + callback( builder, snippet ); } else { + const title = '--- TSL debug - ' + builder.shaderStage + ' shader ---'; + const border = '-'.repeat( title.length ); + + let code = ''; + code += '// #' + title + '#\n'; + code += builder.flow.code.replace( /^\t/mg, '' ) + '\n'; + code += '/* ... */ ' + snippet + ' /* ... */\n'; + code += '// #' + border + '#\n'; + log( code ); } From 01ae0d1d7fd0d8d1ffbe91e755d5089c5f2afea0 Mon Sep 17 00:00:00 2001 From: sunag Date: Tue, 30 Dec 2025 23:14:28 -0300 Subject: [PATCH 2/2] WebGPURenderer: Add per-attachment MRT blending support (#32636) --- .../webgpu_postprocessing_bloom_emissive.html | 24 ++- src/Three.WebGPU.Nodes.js | 1 + src/Three.WebGPU.js | 1 + src/constants.js | 8 + src/nodes/core/MRTNode.js | 48 +++++- src/renderers/common/BlendMode.js | 143 ++++++++++++++++++ src/renderers/common/RenderContext.js | 8 + src/renderers/common/RenderContexts.js | 3 +- src/renderers/webgl-fallback/WebGLBackend.js | 4 +- .../webgl-fallback/utils/WebGLState.js | 134 +++++++++++++++- .../webgpu/utils/WebGPUPipelineUtils.js | 71 +++++---- 11 files changed, 403 insertions(+), 42 deletions(-) create mode 100644 src/renderers/common/BlendMode.js diff --git a/examples/webgpu_postprocessing_bloom_emissive.html b/examples/webgpu_postprocessing_bloom_emissive.html index 861a4ce7ad042e..af8865ba19ea35 100644 --- a/examples/webgpu_postprocessing_bloom_emissive.html +++ b/examples/webgpu_postprocessing_bloom_emissive.html @@ -32,7 +32,7 @@