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 }; | |