From e9518aa5b8a458f8ce5975804433e3dc16509ec6 Mon Sep 17 00:00:00 2001 From: sunag Date: Sat, 21 Jun 2025 12:16:32 -0300 Subject: [PATCH 1/3] Examples: Add `webgpu_reflection_roughness` (#31294) * add `webgpu_reflection_dirty` * Update webgpu_reflection_dirty.html * rename `webgpu_reflection_dirty` -> `webgpu_reflection_roughness` --- examples/files.json | 1 + .../webgpu_reflection_roughness.jpg | Bin 0 -> 83308 bytes examples/webgpu_reflection_roughness.html | 168 ++++++++++++++++++ 3 files changed, 169 insertions(+) create mode 100644 examples/screenshots/webgpu_reflection_roughness.jpg create mode 100644 examples/webgpu_reflection_roughness.html diff --git a/examples/files.json b/examples/files.json index f12ca37c5e0f4c..966fdbf942759b 100644 --- a/examples/files.json +++ b/examples/files.json @@ -416,6 +416,7 @@ "webgpu_procedural_texture", "webgpu_reflection", "webgpu_reflection_blurred", + "webgpu_reflection_roughness", "webgpu_refraction", "webgpu_rendertarget_2d-array_3d", "webgpu_rtt", diff --git a/examples/screenshots/webgpu_reflection_roughness.jpg b/examples/screenshots/webgpu_reflection_roughness.jpg new file mode 100644 index 0000000000000000000000000000000000000000..feb56d5b0c824a16ce8487a17c9769e75a45fc21 GIT binary patch literal 83308 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 literal 0 HcmV?d00001 diff --git a/examples/webgpu_reflection_roughness.html b/examples/webgpu_reflection_roughness.html new file mode 100644 index 00000000000000..2d1e4834709457 --- /dev/null +++ b/examples/webgpu_reflection_roughness.html @@ -0,0 +1,168 @@ + + + + Codestin Search App + + + + + + +

+ three.js webgpu - dirty reflection +
+ + + + + + + From 4bb436e68ebba86e5206fc39179a2aff26d4e923 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E6=9E=97=E7=82=B3=E6=9D=83?= <695601626@qq.com> Date: Sat, 21 Jun 2025 23:56:29 +0800 Subject: [PATCH 2/3] Clock: Inline performance.now() (#31295) --- src/core/Clock.js | 10 ++-------- 1 file changed, 2 insertions(+), 8 deletions(-) diff --git a/src/core/Clock.js b/src/core/Clock.js index 1706bbcd85c130..5b3966f2ecf356 100644 --- a/src/core/Clock.js +++ b/src/core/Clock.js @@ -61,7 +61,7 @@ class Clock { */ start() { - this.startTime = now(); + this.startTime = performance.now(); this.oldTime = this.startTime; this.elapsedTime = 0; @@ -110,7 +110,7 @@ class Clock { if ( this.running ) { - const newTime = now(); + const newTime = performance.now(); diff = ( newTime - this.oldTime ) / 1000; this.oldTime = newTime; @@ -125,10 +125,4 @@ class Clock { } -function now() { - - return performance.now(); - -} - export { Clock }; From 4f796737b89d61d5f7006b68e3f746a2a53e37fb Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E6=9E=97=E7=82=B3=E6=9D=83?= <695601626@qq.com> Date: Sat, 21 Jun 2025 23:59:45 +0800 Subject: [PATCH 3/3] RapierPhysics: Use world.removeCollider() (#31298) --- examples/jsm/physics/RapierPhysics.js | 78 ++++++++++++++++++--------- 1 file changed, 53 insertions(+), 25 deletions(-) diff --git a/examples/jsm/physics/RapierPhysics.js b/examples/jsm/physics/RapierPhysics.js index 423e2ac7f3b279..83a5fc183b3e48 100644 --- a/examples/jsm/physics/RapierPhysics.js +++ b/examples/jsm/physics/RapierPhysics.js @@ -132,18 +132,19 @@ async function RapierPhysics() { shape.setMass( mass ); shape.setRestitution( restitution ); - const body = mesh.isInstancedMesh + const { body, collider } = mesh.isInstancedMesh ? createInstancedBody( mesh, mass, shape ) : createBody( mesh.position, mesh.quaternion, mass, shape ); if ( ! mesh.userData.physics ) mesh.userData.physics = {}; mesh.userData.physics.body = body; + mesh.userData.physics.collider = collider; if ( mass > 0 ) { meshes.push( mesh ); - meshMap.set( mesh, body ); + meshMap.set( mesh, { body, collider } ); } @@ -161,22 +162,10 @@ async function RapierPhysics() { if ( ! mesh.userData.physics ) return; const body = mesh.userData.physics.body; + const collider = mesh.userData.physics.collider; - if ( ! body ) return; - - if ( Array.isArray( body ) ) { - - for ( let i = 0; i < body.length; i ++ ) { - - world.removeRigidBody( body[ i ] ); - - } - - } else { - - world.removeRigidBody( body ); - - } + if ( body ) removeBody( body ); + if ( collider ) removeCollider( collider ); } @@ -187,15 +176,18 @@ async function RapierPhysics() { const array = mesh.instanceMatrix.array; const bodies = []; + const colliders = []; for ( let i = 0; i < mesh.count; i ++ ) { const position = _vector.fromArray( array, i * 16 + 12 ); - bodies.push( createBody( position, null, mass, shape ) ); + const { body, collider } = createBody( position, null, mass, shape ); + bodies.push( body ); + colliders.push( collider ); } - return bodies; + return { body: bodies, collider: colliders }; } @@ -206,15 +198,51 @@ async function RapierPhysics() { if ( quaternion !== null ) desc.setRotation( quaternion ); const body = world.createRigidBody( desc ); - world.createCollider( shape, body ); + const collider = world.createCollider( shape, body ); - return body; + return { body, collider }; + + } + + function removeBody( body ) { + + if ( Array.isArray( body ) ) { + + for ( let i = 0; i < body.length; i ++ ) { + + world.removeRigidBody( body[ i ] ); + + } + + } else { + + world.removeRigidBody( body ); + + } + + } + + function removeCollider( collider ) { + + if ( Array.isArray( collider ) ) { + + for ( let i = 0; i < collider.length; i ++ ) { + + world.removeCollider( collider[ i ] ); + + } + + } else { + + world.removeCollider( collider ); + + } } function setMeshPosition( mesh, position, index = 0 ) { - let body = meshMap.get( mesh ); + let { body } = meshMap.get( mesh ); if ( mesh.isInstancedMesh ) { @@ -230,7 +258,7 @@ async function RapierPhysics() { function setMeshVelocity( mesh, velocity, index = 0 ) { - let body = meshMap.get( mesh ); + let { body } = meshMap.get( mesh ); if ( mesh.isInstancedMesh ) { @@ -278,7 +306,7 @@ async function RapierPhysics() { if ( mesh.isInstancedMesh ) { const array = mesh.instanceMatrix.array; - const bodies = meshMap.get( mesh ); + const { body: bodies } = meshMap.get( mesh ); for ( let j = 0; j < bodies.length; j ++ ) { @@ -296,7 +324,7 @@ async function RapierPhysics() { } else { - const body = meshMap.get( mesh ); + const { body } = meshMap.get( mesh ); mesh.position.copy( body.translation() ); mesh.quaternion.copy( body.rotation() );