export { Camera } from './core/Camera.js' export { Entity } from './core/Entity.js' export { Material } from './core/Material.js' export { Mesh } from './core/Mesh.js' export { Renderer } from './core/Renderer.js' export { Scene } from './core/Scene.js' export { Shader } from './core/Shader.js' export { Mat4 } from './math/Mat4.js' export { Vec3 } from './math/Vec3.js' export { M as Math } from './math/Math.js' export { Cube } from './geometry/Cube.js' export { Sphere } from './geometry/Sphere.js' export { OBJ } from './geometry/OBJ.js' export { File } from './io/File.js' export { Input } from './io/Input.js' export { SimpleController } from './controller/SimpleController.js' export { SimpleShader } from './shader/SimpleShader.js' export { Loop } export { DT } import { Input } from './io/Input.js' import { gl } from './core/Renderer.js' var DT = 0; var last = Date.now() const Loop = (fn) => { Input.setup() const callback = () => { var now = Date.now() DT = ( now - last) / 1000 last = now gl.clear(gl.COLOR_BUFFER_BIT | gl.DEPTH_BUFFER_BIT); gl.clearColor(0, 0, 0, 1); fn() window.requestAnimationFrame(callback) } callback() }