Browse Source

CSS2DRenderer: Fix culling regression. (#23594)

Michael Herzog 3 years ago
parent
commit
30f34a3103
2 changed files with 9 additions and 10 deletions
  1. 6 6
      examples/jsm/renderers/CSS2DRenderer.js
  2. 3 4
      examples/jsm/renderers/CSS3DRenderer.js

+ 6 - 6
examples/jsm/renderers/CSS2DRenderer.js

@@ -113,15 +113,15 @@ class CSS2DRenderer {
 
 			if ( object.isCSS2DObject ) {
 
-				const visible = object.visible && _vector.z >= - 1 && _vector.z <= 1 && object.layers.test( camera.layers );
-				object.element.style.display = visible ? '' : 'none';
+				_vector.setFromMatrixPosition( object.matrixWorld );
+				_vector.applyMatrix4( _viewProjectionMatrix );
 
-				if ( visible ) {
+				const visible = ( object.visible === true ) && ( _vector.z >= - 1 && _vector.z <= 1 ) && ( object.layers.test( camera.layers ) === true );
+				object.element.style.display = ( visible === true ) ? '' : 'none';
 
-					object.onBeforeRender( _this, scene, camera );
+				if ( visible === true ) {
 
-					_vector.setFromMatrixPosition( object.matrixWorld );
-					_vector.applyMatrix4( _viewProjectionMatrix );
+					object.onBeforeRender( _this, scene, camera );
 
 					const element = object.element;
 

+ 3 - 4
examples/jsm/renderers/CSS3DRenderer.js

@@ -239,11 +239,10 @@ class CSS3DRenderer {
 
 			if ( object.isCSS3DObject ) {
 
-				const visible = object.visible && object.layers.test( camera.layers );
-				object.element.style.display = visible ? '' : 'none';
+				const visible = ( object.visible === true ) && ( object.layers.test( camera.layers ) === true );
+				object.element.style.display = ( visible === true ) ? '' : 'none';
 
-				// only getObjectCSSMatrix when object.visible
-				if ( visible ) {
+				if ( visible === true ) {
 
 					object.onBeforeRender( _this, scene, camera );