Преглед изворни кода

WebGPURenderer: Count primitives correctly

Takahiro пре 4 година
родитељ
комит
030b24bbc4
1 измењених фајлова са 5 додато и 4 уклоњено
  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 drawRange = geometry.drawRange;
 		const firstVertex = drawRange.start;
 		const firstVertex = drawRange.start;
+		const instanceCount = geometry.instanceCount || 1;
 
 
 		if ( hasIndex === true ) {
 		if ( hasIndex === true ) {
 
 
 			const indexCount = ( drawRange.count !== Infinity ) ? drawRange.count : index.count;
 			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 {
 		} else {
 
 
 			const positionAttribute = geometry.attributes.position;
 			const positionAttribute = geometry.attributes.position;
 			const vertexCount = ( drawRange.count !== Infinity ) ? drawRange.count : positionAttribute.count;
 			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 );
 
 
 		}
 		}