renderMultiDrawInstances method

void renderMultiDrawInstances(
  1. List<int> starts,
  2. List<int> counts,
  3. int drawCount,
  4. List<int> primcount,
)
override

Implementation

void renderMultiDrawInstances(List<int> starts,List<int> counts,int drawCount,List<int> primcount ) {
	if ( drawCount == 0 ) return;
	final extension = extensions.get( 'WEBGL_multi_draw' );

	if ( extension == null ) {
		for (int i = 0; i < starts.length; i ++ ) {
			renderInstances( starts[ i ] ~/ bytesPerElement, counts[ i ], primcount[ i ] );
		}
	}
    else {
		extension.multiDrawElementsInstancedWEBGL( mode, counts, 0, type, starts, 0, primcount, 0, drawCount );

		int elementCount = 0;
		for (int i = 0; i < drawCount; i ++ ) {
			elementCount += counts[ i ];
		}

		for (int i = 0; i < primcount.length; i ++ ) {
			info.update( elementCount, mode, primcount[ i ] );
		}
	}
}