diff --git a/src/main.ts b/src/main.ts index 46ff1f5..c7e8271 100644 --- a/src/main.ts +++ b/src/main.ts @@ -107,7 +107,7 @@ function initShaders() { } /** Init an FBO used for the first render pass / perlin noise */ -var perlinNoiseFBO : WebGLFramebuffer | null = null; +var perlinNoiseFBO: WebGLFramebuffer | null = null; var perlinNoiseFBOWidth = 400; var ferlinNoiseFBOHeight = 400; function initFBO() { @@ -133,8 +133,21 @@ function initFBO() { /** Update/Draw function. Targeting 60UPS. */ var timeSpent = 0.0; +/** Framerate measurement variables */ +var lastTime = new Date().getTime(); +var counter = 0.0; +var fps = 0; function drawScene(buffer: WebGLBuffer, program: WebGLProgram) { timeSpent += 1.0 / 60.0; + fps++; + let now = new Date(); + let delta = now.getTime() - lastTime; + if ((counter += delta) >= 1000.) { + counter = 0; + console.log("FPS: " + fps); + fps = 0; + } + lastTime = now.getTime(); // Two Rendering passes. The first one generates a perlin noise // texture. Second one uses the textur for vertex displacement // of a grid representing the water surface.