diff --git a/examples/webgl_buffergeometry_drawcalls.html b/examples/webgl_buffergeometry_drawcalls.html index ed630e759f51d614055225c02572e4921400d48e..2beade74ef6c18513bf0fdf4104ded3fd2a0dacf 100644 --- a/examples/webgl_buffergeometry_drawcalls.html +++ b/examples/webgl_buffergeometry_drawcalls.html @@ -150,7 +150,7 @@ particles.addAttribute( 'position', new THREE.BufferAttribute( particlePositions, 3 ).setDynamic( true ) ); // create the particle system - pointCloud = new THREE.PointCloud( particles, pMaterial ); + pointCloud = new THREE.PointCloud( particles, new THREE.MultiMaterial( [ pMaterial ] ) ); group.add( pointCloud ); var geometry = new THREE.BufferGeometry(); @@ -168,7 +168,7 @@ transparent: true } ); - linesMesh = new THREE.LineSegments( geometry, material ); + linesMesh = new THREE.LineSegments( geometry, new THREE.MultiMaterial( [ material ] ) ); group.add( linesMesh ); // diff --git a/src/renderers/WebGLRenderer.js b/src/renderers/WebGLRenderer.js index 00b3d2c983a666dc1d0692d9359ef12b3e945ac9..48101d84c644d93681dcbcb7fae0c8b2e1f97674 100644 --- a/src/renderers/WebGLRenderer.js +++ b/src/renderers/WebGLRenderer.js @@ -1342,10 +1342,10 @@ THREE.WebGLRenderer = function ( parameters ) { } var geometry = objects.update( object ); - var groups = geometry.groups; if ( material instanceof THREE.MeshFaceMaterial ) { + var groups = geometry.groups; var materials = material.materials; for ( var i = 0, l = groups.length; i < l; i ++ ) { @@ -1361,14 +1361,6 @@ THREE.WebGLRenderer = function ( parameters ) { } - } else if ( groups.length > 0 ) { - - for ( var i = 0, l = groups.length; i < l; i ++ ) { - - pushRenderItem( object, geometry, material, _vector3.z, groups[ i ] ); - - } - } else { pushRenderItem( object, geometry, material, _vector3.z );