diff --git a/src/renderers/WebGLRenderer.js b/src/renderers/WebGLRenderer.js index 3361176cfddd95cc749d86051f83777facd39d70..c2bed925aac532dcd8b74cf58b0c40a2e1cc3adf 100644 --- a/src/renderers/WebGLRenderer.js +++ b/src/renderers/WebGLRenderer.js @@ -1121,18 +1121,18 @@ THREE.WebGLRenderer = function ( parameters ) { } else { + if ( updateBuffers ) { + + setupVertexAttributes( material, program, geometry, 0 ); + + } + // non-indexed triangles var offsets = geometry.drawcalls; if ( offsets.length === 0 ) { - if ( updateBuffers ) { - - setupVertexAttributes( material, program, geometry, 0 ); - - } - var position = geometry.attributes.position; // render non-indexed triangles @@ -1178,16 +1178,6 @@ THREE.WebGLRenderer = function ( parameters ) { } else { - // if there is more than 1 chunk - // must set attribute pointers to use new offsets for each chunk - // even if geometry and materials didn't change - - if ( updateBuffers ) { - - setupVertexAttributes( material, program, geometry, 0 ); - - } - for ( var i = 0, il = offsets.length; i < il; i ++ ) { // render non-indexed triangles