@@ -55,15 +55,18 @@ var MeshWebGLRenderer = function (renderer, src, camera, parentMatrix)
5555
5656 var z = src . viewPosition . z ;
5757
58+ var hideCCW = src . hideCCW ;
5859 var roundPixels = camera . roundPixels ;
5960 var alpha = camera . alpha * src . alpha ;
60- var hideCCW = src . hideCCW ;
61+
62+ var totalFacesRendered = 0 ;
6163
6264 for ( var i = 0 ; i < totalFaces ; i ++ )
6365 {
6466 var face = faces [ i ] ;
6567
66- if ( hideCCW && ! face . isCounterClockwise ( z ) )
68+ // If face has alpha <= 0, or hideCCW + clockwise, or isn't in camera view, then don't draw it
69+ if ( ! face . isInView ( camera , hideCCW , z , alpha , a , b , c , d , e , f , roundPixels ) )
6770 {
6871 continue ;
6972 }
@@ -75,10 +78,9 @@ var MeshWebGLRenderer = function (renderer, src, camera, parentMatrix)
7578 vertexOffset = 0 ;
7679 }
7780
78- vertexOffset = face . vertex1 . load ( F32 , U32 , vertexOffset , textureUnit , tintEffect , alpha , a , b , c , d , e , f , roundPixels ) ;
79- vertexOffset = face . vertex2 . load ( F32 , U32 , vertexOffset , textureUnit , tintEffect , alpha , a , b , c , d , e , f , roundPixels ) ;
80- vertexOffset = face . vertex3 . load ( F32 , U32 , vertexOffset , textureUnit , tintEffect , alpha , a , b , c , d , e , f , roundPixels ) ;
81+ vertexOffset = face . load ( F32 , U32 , vertexOffset , textureUnit , tintEffect ) ;
8182
83+ totalFacesRendered ++ ;
8284 pipeline . vertexCount += 3 ;
8385
8486 if ( debugCallback )
@@ -94,6 +96,8 @@ var MeshWebGLRenderer = function (renderer, src, camera, parentMatrix)
9496 }
9597 }
9698
99+ src . totalFrame += totalFacesRendered ;
100+
97101 if ( debugCallback )
98102 {
99103 debugCallback . call ( src , src , src . vertices . length * 2 , debugVerts ) ;
0 commit comments