From 7a76854ba47c26c81883de3f2a9a5f0c4836de6d Mon Sep 17 00:00:00 2001 From: sunag Date: Sun, 3 May 2026 04:56:52 -0300 Subject: [PATCH 1/2] TSL: Cache function nodes per renderer's backend (#33517) --- src/nodes/tsl/TSLCore.js | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/src/nodes/tsl/TSLCore.js b/src/nodes/tsl/TSLCore.js index 8494efedbd3acb..08d62ec0d56614 100644 --- a/src/nodes/tsl/TSLCore.js +++ b/src/nodes/tsl/TSLCore.js @@ -506,13 +506,15 @@ class ShaderCallNodeInternal extends Node { if ( shaderNode.layout ) { - let functionNodesCacheMap = nodeBuilderFunctionsCacheMap.get( builder.constructor ); + const backend = builder.renderer.backend; + + let functionNodesCacheMap = nodeBuilderFunctionsCacheMap.get( backend ); if ( functionNodesCacheMap === undefined ) { functionNodesCacheMap = new WeakMap(); - nodeBuilderFunctionsCacheMap.set( builder.constructor, functionNodesCacheMap ); + nodeBuilderFunctionsCacheMap.set( backend, functionNodesCacheMap ); } From 967ce5c9a39ee6eddce6a2ff7d2c61d1bb9d0f4d Mon Sep 17 00:00:00 2001 From: WestLangley Date: Sun, 3 May 2026 04:03:31 -0400 Subject: [PATCH 2/2] Examples: Add `webgpu_furnace_test.html` (#33516) --- examples/files.json | 1 + examples/screenshots/webgpu_furnace_test.jpg | Bin 0 -> 3411 bytes examples/webgpu_furnace_test.html | 166 +++++++++++++++++++ 3 files changed, 167 insertions(+) create mode 100644 examples/screenshots/webgpu_furnace_test.jpg create mode 100644 examples/webgpu_furnace_test.html diff --git a/examples/files.json b/examples/files.json index 90942731909e0f..73def8a8159447 100644 --- a/examples/files.json +++ b/examples/files.json @@ -343,6 +343,7 @@ "webgpu_display_stereo", "webgpu_equirectangular", "webgpu_fog_height", + "webgpu_furnace_test", "webgpu_hdr", "webgpu_instance_mesh", "webgpu_instance_path", diff --git a/examples/screenshots/webgpu_furnace_test.jpg b/examples/screenshots/webgpu_furnace_test.jpg new file mode 100644 index 0000000000000000000000000000000000000000..0fd4bd19d597592bd35801a1d4b1c1947adff107 GIT binary patch literal 3411 zcmex=iF;N$`UAd82aiwDGkXk%h!W@hDLXJZFTlSKSKz#z!M@QZN*Gov5_lOQ9r zAmjfdjEjJ7WCc47=uik?WMXDvWn%|Afm;CRY-VPlV_AVN1*)tC$}zAAvI;30I#U-U>$dGXcJ4ZK_{h;?$4{I*b?NeztJkjIxOwa0qsLF4K70P+<*SdMK7aZ8?fZ|P zzZe;qA>IL!82$lzoRJ9>=IkK_0Zp(e6?1osf!KmTtr@Gvt1BaB&)!Jgr-!2+fRE(Q&T lQED^@MpMCPMi?y%MvKGI8ez0H9IXvUYs2AK8#4dD2>>Oh%4Prn literal 0 HcmV?d00001 diff --git a/examples/webgpu_furnace_test.html b/examples/webgpu_furnace_test.html new file mode 100644 index 00000000000000..438e01dbe0bd17 --- /dev/null +++ b/examples/webgpu_furnace_test.html @@ -0,0 +1,166 @@ + + + + three.js webgpu - white furnace test + + + + + + +
+ + +
+ three.jsWhite Furnace Energy Conservation Test +
+ + +
Roughness increases left to right +
Metalness increases top to bottom +
+
+ + + + + +