function WebGLInfo(gl) { const memory = { geometries: 0, textures: 0, }; const render = { frame: 0, calls: 0, triangles: 0, points: 0, lines: 0, }; function update(count, mode, instanceCount) { 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 };