From 078c3c933d4e1e31ec16df7d65f605eb592bf416 Mon Sep 17 00:00:00 2001 From: ycw Date: Thu, 9 Jan 2025 03:43:55 +0800 Subject: [PATCH 1/3] fix --- src/renderers/webgpu/WebGPUBackend.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/renderers/webgpu/WebGPUBackend.js b/src/renderers/webgpu/WebGPUBackend.js index 5d784502c74661..80d3d93b0b18ac 100644 --- a/src/renderers/webgpu/WebGPUBackend.js +++ b/src/renderers/webgpu/WebGPUBackend.js @@ -787,7 +787,7 @@ class WebGPUBackend extends Backend { for ( let i = 0; i < currentOcclusionQueryObjects.length; i ++ ) { - if ( results[ i ] !== BigInt( 0 ) ) { + if ( results[ i ] === BigInt( 0 ) ) { occluded.add( currentOcclusionQueryObjects[ i ] ); From 5e866fb99e68915da6a1f81e71033362e6ff5811 Mon Sep 17 00:00:00 2001 From: sunag Date: Wed, 8 Jan 2025 22:58:05 -0300 Subject: [PATCH 2/3] Update WebGLBackend.js --- src/renderers/webgl-fallback/WebGLBackend.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/renderers/webgl-fallback/WebGLBackend.js b/src/renderers/webgl-fallback/WebGLBackend.js index 6fdb0effb7c9e1..53924bc581f7e2 100644 --- a/src/renderers/webgl-fallback/WebGLBackend.js +++ b/src/renderers/webgl-fallback/WebGLBackend.js @@ -611,7 +611,7 @@ class WebGLBackend extends Backend { if ( gl.getQueryParameter( query, gl.QUERY_RESULT_AVAILABLE ) ) { - if ( gl.getQueryParameter( query, gl.QUERY_RESULT ) > 0 ) occluded.add( currentOcclusionQueryObjects[ i ] ); + if ( gl.getQueryParameter( query, gl.QUERY_RESULT ) === 0 ) occluded.add( currentOcclusionQueryObjects[ i ] ); currentOcclusionQueries[ i ] = null; gl.deleteQuery( query ); From 881041d6ed250aeb6f8c98c143514d7ae739a2fa Mon Sep 17 00:00:00 2001 From: sunag Date: Wed, 8 Jan 2025 22:58:17 -0300 Subject: [PATCH 3/3] Update webgpu_occlusion.html --- examples/webgpu_occlusion.html | 7 +------ 1 file changed, 1 insertion(+), 6 deletions(-) diff --git a/examples/webgpu_occlusion.html b/examples/webgpu_occlusion.html index 39325f63e727d4..4d42643323990e 100644 --- a/examples/webgpu_occlusion.html +++ b/examples/webgpu_occlusion.html @@ -92,7 +92,7 @@ const plane = new THREE.Mesh( planeGeometry, new THREE.MeshPhongNodeMaterial( { color: 0x00ff00, side: THREE.DoubleSide } ) ); const sphere = new THREE.Mesh( sphereGeometry, new THREE.MeshPhongNodeMaterial( { color: 0xffff00 } ) ); - const instanceUniform = nodeObject( new OcclusionNode( sphere, new THREE.Color( 0x00ff00 ), new THREE.Color( 0x0000ff ) ) ); + const instanceUniform = nodeObject( new OcclusionNode( sphere, new THREE.Color( 0x0000ff ), new THREE.Color( 0x00ff00 ) ) ); plane.material.colorNode = instanceUniform; @@ -107,11 +107,6 @@ renderer = new THREE.WebGPURenderer( { antialias: true } ); renderer.setPixelRatio( window.devicePixelRatio ); renderer.setSize( window.innerWidth, window.innerHeight ); - - // ensure shaders/pipelines are all complete before rendering - - await renderer.compileAsync( scene, camera ); - renderer.setAnimationLoop( render ); document.body.appendChild( renderer.domElement );