From d9bf05e6ad06aa29a867e50a82de5bb7bd3ee587 Mon Sep 17 00:00:00 2001 From: Renaud Rohlinger Date: Wed, 4 Dec 2024 21:58:24 +0900 Subject: [PATCH] Examples: webgpu_lines_fat_raycasting (#30030) --- examples/files.json | 1 + .../webgpu_lines_fat_raycasting.jpg | Bin 0 -> 46836 bytes examples/webgl_lines_fat.html | 4 +- examples/webgl_lines_fat_raycasting.html | 4 +- examples/webgpu_lines_fat_raycasting.html | 365 ++++++++++++++++++ 5 files changed, 370 insertions(+), 4 deletions(-) create mode 100644 examples/screenshots/webgpu_lines_fat_raycasting.jpg create mode 100644 examples/webgpu_lines_fat_raycasting.html diff --git a/examples/files.json b/examples/files.json index 391012641daa18..1948537f3331e8 100644 --- a/examples/files.json +++ b/examples/files.json @@ -337,6 +337,7 @@ "webgpu_lights_selective", "webgpu_lights_spotlight", "webgpu_lights_tiled", + "webgpu_lines_fat_raycasting", "webgpu_lines_fat_wireframe", "webgpu_lines_fat", "webgpu_loader_gltf", diff --git a/examples/screenshots/webgpu_lines_fat_raycasting.jpg b/examples/screenshots/webgpu_lines_fat_raycasting.jpg new file mode 100644 index 0000000000000000000000000000000000000000..fc0c3ff23a3ae37ddb3c2744c71973844c96daa4 GIT binary patch literal 46836 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 SCt&mc{`CI=WIETMxBm @@ -138,7 +138,7 @@ window.addEventListener( 'resize', onWindowResize ); onWindowResize(); - stats = new Stats( { horizontal: false } ); + stats = new Stats( { horizontal: false, trackGPU: true } ); stats.init( renderer ); document.body.appendChild( stats.dom ); diff --git a/examples/webgl_lines_fat_raycasting.html b/examples/webgl_lines_fat_raycasting.html index 38f72acb5dd2c8..5ac47d01192d48 100644 --- a/examples/webgl_lines_fat_raycasting.html +++ b/examples/webgl_lines_fat_raycasting.html @@ -18,7 +18,7 @@ "imports": { "three": "../build/three.module.js", "three/addons/": "./jsm/", - "stats-gl": "https://cdn.jsdelivr.net/npm/stats-gl@2.2.8/dist/main.js" + "stats-gl": "https://cdn.jsdelivr.net/npm/stats-gl@3.6.0/dist/main.js" } } @@ -194,7 +194,7 @@ window.addEventListener( 'resize', onWindowResize ); onWindowResize(); - stats = new Stats( { horizontal: false } ); + stats = new Stats( { horizontal: false, trackGPU: true } ); stats.init( renderer ); document.body.appendChild( stats.dom ); diff --git a/examples/webgpu_lines_fat_raycasting.html b/examples/webgpu_lines_fat_raycasting.html new file mode 100644 index 00000000000000..1771e52140e298 --- /dev/null +++ b/examples/webgpu_lines_fat_raycasting.html @@ -0,0 +1,365 @@ + + + + three.js webgpu - lines - fat + + + + + + + +
+ +
three.js - fat lines raycasting
+ + + + + + + +