|
@@ -6,32 +6,34 @@ THREE.WebGLBufferRenderer = function ( _gl, extensions, _infoRender ) {
|
|
|
|
|
|
var mode;
|
|
var mode;
|
|
|
|
|
|
- this.setMode = function ( value ) {
|
|
|
|
|
|
+ function setMode( value ) {
|
|
|
|
|
|
mode = value;
|
|
mode = value;
|
|
|
|
|
|
- };
|
|
|
|
|
|
+ }
|
|
|
|
|
|
- this.renderGroups = function ( groups ) {
|
|
|
|
|
|
+ function render( start, count ) {
|
|
|
|
|
|
- for ( var i = 0, il = groups.length; i < il; i ++ ) {
|
|
|
|
|
|
+ _gl.drawArrays( mode, start, count );
|
|
|
|
|
|
- var group = groups[ i ];
|
|
|
|
|
|
+ _infoRender.calls ++;
|
|
|
|
+ _infoRender.vertices += count;
|
|
|
|
+ if ( mode === _gl.TRIANGLES ) _infoRender.faces += count / 3;
|
|
|
|
+
|
|
|
|
+ }
|
|
|
|
|
|
- var start = group.start;
|
|
|
|
- var count = group.count;
|
|
|
|
|
|
+ function renderGroups( groups ) {
|
|
|
|
|
|
- _gl.drawArrays( mode, start, count );
|
|
|
|
|
|
+ for ( var i = 0, il = groups.length; i < il; i ++ ) {
|
|
|
|
|
|
- _infoRender.calls ++;
|
|
|
|
- _infoRender.vertices += count;
|
|
|
|
- if ( mode === _gl.TRIANGLES ) _infoRender.faces += count / 3;
|
|
|
|
|
|
+ var group = groups[ i ];
|
|
|
|
+ render( group.start, group.count );
|
|
|
|
|
|
}
|
|
}
|
|
|
|
|
|
- };
|
|
|
|
|
|
+ }
|
|
|
|
|
|
- this.renderInstances = function ( geometry ) {
|
|
|
|
|
|
+ function renderInstances( geometry ) {
|
|
|
|
|
|
var extension = extensions.get( 'ANGLE_instanced_arrays' );
|
|
var extension = extensions.get( 'ANGLE_instanced_arrays' );
|
|
|
|
|
|
@@ -54,6 +56,11 @@ THREE.WebGLBufferRenderer = function ( _gl, extensions, _infoRender ) {
|
|
|
|
|
|
}
|
|
}
|
|
|
|
|
|
- };
|
|
|
|
|
|
+ }
|
|
|
|
+
|
|
|
|
+ this.setMode = setMode;
|
|
|
|
+ this.render = render;
|
|
|
|
+ this.renderGroups = renderGroups;
|
|
|
|
+ this.renderInstances = renderInstances;
|
|
|
|
|
|
};
|
|
};
|