Browse Source

WebGPURenderer: Count primitives correctly

Takahiro 4 năm trước cách đây
mục cha
commit
030b24bbc4
1 tập tin đã thay đổi với 5 bổ sung4 xóa
  1. 5 4
      examples/jsm/renderers/webgpu/WebGPURenderer.js

+ 5 - 4
examples/jsm/renderers/webgpu/WebGPURenderer.js

@@ -766,23 +766,24 @@ class WebGPURenderer {
 
 		const drawRange = geometry.drawRange;
 		const firstVertex = drawRange.start;
+		const instanceCount = geometry.instanceCount || 1;
 
 		if ( hasIndex === true ) {
 
 			const indexCount = ( drawRange.count !== Infinity ) ? drawRange.count : index.count;
 
-			passEncoder.drawIndexed( indexCount, geometry.instanceCount || 1, firstVertex, 0, 0 );
+			passEncoder.drawIndexed( indexCount, instanceCount, firstVertex, 0, 0 );
 
-			info.update( object, indexCount );
+			info.update( object, indexCount, instanceCount );
 
 		} else {
 
 			const positionAttribute = geometry.attributes.position;
 			const vertexCount = ( drawRange.count !== Infinity ) ? drawRange.count : positionAttribute.count;
 
-			passEncoder.draw( vertexCount, geometry.instanceCount || 1, firstVertex, 0 );
+			passEncoder.draw( vertexCount, instanceCount, firstVertex, 0 );
 
-			info.update( object, vertexCount );
+			info.update( object, vertexCount, instanceCount );
 
 		}