|
@@ -811,22 +811,35 @@ THREE.WebGLRenderer = function ( parameters ) {
|
|
|
|
|
|
}
|
|
|
|
|
|
- var drawStart = geometry.drawRange.start;
|
|
|
- var drawCount = geometry.drawRange.count;
|
|
|
+ //
|
|
|
|
|
|
- if ( drawCount === Infinity ) {
|
|
|
+ var dataStart = 0;
|
|
|
+ var dataCount = Infinity;
|
|
|
|
|
|
- drawCount = index !== null ? index.count : position.count;
|
|
|
+ if ( index !== null ) {
|
|
|
|
|
|
- }
|
|
|
+ dataCount = index.count
|
|
|
|
|
|
- if ( group !== null ) {
|
|
|
+ } else if ( position !== undefined ) {
|
|
|
|
|
|
- drawStart = Math.max( drawStart, group.start );
|
|
|
- drawCount = Math.min( drawCount, group.count );
|
|
|
+ dataCount = position.count;
|
|
|
|
|
|
}
|
|
|
|
|
|
+ var rangeStart = geometry.drawRange.start;
|
|
|
+ var rangeCount = geometry.drawRange.count;
|
|
|
+
|
|
|
+ var groupStart = group !== null ? group.start : 0;
|
|
|
+ var groupCount = group !== null ? group.count : Infinity;
|
|
|
+
|
|
|
+ var drawStart = Math.max( dataStart, rangeStart, groupStart );
|
|
|
+
|
|
|
+ var drawEnd = Math.min( dataStart + dataCount, rangeStart + rangeCount, groupStart + groupCount ) - 1;
|
|
|
+
|
|
|
+ var drawCount = drawEnd - drawStart + 1;
|
|
|
+
|
|
|
+ //
|
|
|
+
|
|
|
if ( object instanceof THREE.Mesh ) {
|
|
|
|
|
|
if ( material.wireframe === true ) {
|