From e7dc78043217b05df74272d7c0997926c1b85043 Mon Sep 17 00:00:00 2001 From: sunag Date: Wed, 15 Jul 2026 23:37:05 -0300 Subject: [PATCH] Examples: Add `webgpu_deferred` example (#34049) --- examples/files.json | 1 + examples/screenshots/webgpu_deferred.jpg | Bin 0 -> 46828 bytes examples/webgpu_deferred.html | 297 +++++++++++++++++++++++ 3 files changed, 298 insertions(+) create mode 100644 examples/screenshots/webgpu_deferred.jpg create mode 100644 examples/webgpu_deferred.html diff --git a/examples/files.json b/examples/files.json index b286f2e51af229..070955f2d4a3f3 100644 --- a/examples/files.json +++ b/examples/files.json @@ -340,6 +340,7 @@ "webgpu_custom_fog", "webgpu_custom_fog_background", "webgpu_custom_fog_scattering", + "webgpu_deferred", "webgpu_depth_texture", "webgpu_display_stereo", "webgpu_equirectangular", diff --git a/examples/screenshots/webgpu_deferred.jpg b/examples/screenshots/webgpu_deferred.jpg new file mode 100644 index 0000000000000000000000000000000000000000..fbc45c9df04a11d86d9896e9ca24debc5b05a835 GIT binary patch literal 46828 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 WC#b0y+a*(>M8!ck>P1Y7iT~N@u;85l literal 0 HcmV?d00001 diff --git a/examples/webgpu_deferred.html b/examples/webgpu_deferred.html new file mode 100644 index 00000000000000..836abd4706d301 --- /dev/null +++ b/examples/webgpu_deferred.html @@ -0,0 +1,297 @@ + + + + three.js webgpu - deferred rendering + + + + + + + + + + +
+ + +
+ three.jsDeferred Rendering +
+ + + Simple deferred rendering using custom pipeline. + +
+ + + + + + +