| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778 |
- /**
- * @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.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 };
|