Spaces:
Running
Running
| /** | |
| * @author Mugen87 / https://github.com/Mugen87 | |
| */ | |
| function WebGLInfo( gl ) { | |
| var memory = { | |
| geometries: 0, | |
| textures: 0 | |
| }; | |
| var render = { | |
| frame: 0, | |
| calls: 0, | |
| triangles: 0, | |
| points: 0, | |
| lines: 0 | |
| }; | |
| function update( count, mode, instanceCount ) { | |
| instanceCount = instanceCount || 1; | |
| render.calls ++; | |
| switch ( mode ) { | |
| case gl.TRIANGLES: | |
| render.triangles += instanceCount * ( count / 3 ); | |
| break; | |
| case gl.TRIANGLE_STRIP: | |
| case gl.TRIANGLE_FAN: | |
| render.triangles += instanceCount * ( count - 2 ); | |
| break; | |
| case gl.LINES: | |
| render.lines += instanceCount * ( count / 2 ); | |
| break; | |
| case gl.LINE_STRIP: | |
| render.lines += instanceCount * ( count - 1 ); | |
| break; | |
| case gl.LINE_LOOP: | |
| render.lines += instanceCount * count; | |
| break; | |
| case gl.POINTS: | |
| render.points += instanceCount * count; | |
| break; | |
| default: | |
| console.error( 'THREE.WebGLInfo: Unknown draw mode:', mode ); | |
| break; | |
| } | |
| } | |
| function reset() { | |
| render.frame ++; | |
| render.calls = 0; | |
| render.triangles = 0; | |
| render.points = 0; | |
| render.lines = 0; | |
| } | |
| return { | |
| memory: memory, | |
| render: render, | |
| programs: null, | |
| autoReset: true, | |
| reset: reset, | |
| update: update | |
| }; | |
| } | |
| export { WebGLInfo }; | |