From 6c8118727b720bde2472f794b5d4a8a1a8231b70 Mon Sep 17 00:00:00 2001 From: Leven <475563418@qq.com> Date: Fri, 10 May 2024 17:22:34 +0800 Subject: [PATCH 1/3] add cache empty check and set a default value --- examples/jsm/renderers/CSS2DRenderer.js | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/examples/jsm/renderers/CSS2DRenderer.js b/examples/jsm/renderers/CSS2DRenderer.js index 8bf63c4d3736a..f84556e910332 100644 --- a/examples/jsm/renderers/CSS2DRenderer.js +++ b/examples/jsm/renderers/CSS2DRenderer.js @@ -206,8 +206,11 @@ class CSS2DRenderer { } - const distanceA = cache.objects.get( a ).distanceToCameraSquared; - const distanceB = cache.objects.get( b ).distanceToCameraSquared; + const cacheDataA = cache.objects.get( a ); + const distanceA = cacheDataA ? cacheDataA.distanceToCameraSquared : 0; + + const cacheDataB = cache.objects.get( b ); + const distanceB = cacheDataB ? cacheDataB.distanceToCameraSquared : 0; return distanceA - distanceB; From 85d626ee5d71fe64a5afa8b1b2b17c964a6bfce2 Mon Sep 17 00:00:00 2001 From: Leven <475563418@qq.com> Date: Fri, 10 May 2024 17:55:36 +0800 Subject: [PATCH 2/3] Update CSS2DRenderer.js --- examples/jsm/renderers/CSS2DRenderer.js | 9 +++------ 1 file changed, 3 insertions(+), 6 deletions(-) diff --git a/examples/jsm/renderers/CSS2DRenderer.js b/examples/jsm/renderers/CSS2DRenderer.js index f84556e910332..a1b83b00ee95c 100644 --- a/examples/jsm/renderers/CSS2DRenderer.js +++ b/examples/jsm/renderers/CSS2DRenderer.js @@ -186,7 +186,7 @@ class CSS2DRenderer { const result = []; - scene.traverse( function ( object ) { + scene.traverseVisible( function ( object ) { if ( object.isCSS2DObject ) result.push( object ); @@ -206,11 +206,8 @@ class CSS2DRenderer { } - const cacheDataA = cache.objects.get( a ); - const distanceA = cacheDataA ? cacheDataA.distanceToCameraSquared : 0; - - const cacheDataB = cache.objects.get( b ); - const distanceB = cacheDataB ? cacheDataB.distanceToCameraSquared : 0; + const distanceA = cache.objects.get( a ).distanceToCameraSquared; + const distanceB = cache.objects.get( b ).distanceToCameraSquared; return distanceA - distanceB; From bca961174c702a36b5a95dbbae56dee1d65224be Mon Sep 17 00:00:00 2001 From: Michael Herzog Date: Fri, 10 May 2024 12:37:59 +0200 Subject: [PATCH 3/3] Update CSS2DRenderer.js Fix code style. --- examples/jsm/renderers/CSS2DRenderer.js | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/examples/jsm/renderers/CSS2DRenderer.js b/examples/jsm/renderers/CSS2DRenderer.js index a1b83b00ee95c..3380f5e7598b8 100644 --- a/examples/jsm/renderers/CSS2DRenderer.js +++ b/examples/jsm/renderers/CSS2DRenderer.js @@ -124,6 +124,7 @@ class CSS2DRenderer { hideObject( object.children[ i ] ); } + } function renderObject( object, scene, camera ) { @@ -207,7 +208,7 @@ class CSS2DRenderer { } const distanceA = cache.objects.get( a ).distanceToCameraSquared; - const distanceB = cache.objects.get( b ).distanceToCameraSquared; + const distanceB = cache.objects.get( b ).distanceToCameraSquared; return distanceA - distanceB;