From 576282fa5a51e98627e5ca097409d42817a33d54 Mon Sep 17 00:00:00 2001 From: amandaghassaei <amandaghassaei@gmail.com> Date: Mon, 3 Apr 2017 01:47:23 -0400 Subject: [PATCH] dynamic scaling --- main.js | 18 +++++++++--------- 1 file changed, 9 insertions(+), 9 deletions(-) diff --git a/main.js b/main.js index 0f3a6d9..f56c1b0 100755 --- a/main.js +++ b/main.js @@ -3,7 +3,7 @@ var width, height; var actualWidth, actualHeight; var body; -var scale = 4; +var scale = 3.5; var lastMouseCoordinates = [0,0]; var mouseCoordinates = [0,0]; @@ -56,7 +56,6 @@ function initGL() { GPU.createProgram("force", "2d-vertex-shader", "forceShader"); GPU.setUniformForProgram("force", "u_dt", dt, "1f"); - GPU.setUniformForProgram("force", "u_reciprocalRadius", 0.1*scale, "1f"); GPU.setUniformForProgram("force", "u_velocity", 0, "1i"); GPU.createProgram("jacobi", "2d-vertex-shader", "jacobiShader"); @@ -97,9 +96,9 @@ function render(){ GPU.setProgram("force"); if (mouseEnable){ GPU.setUniformForProgram("force", "u_mouseEnable", 1.0, "1f"); - GPU.setUniformForProgram("force", "u_mouseCoord", [mouseCoordinates[0], mouseCoordinates[1]], "2f"); - GPU.setUniformForProgram("force", "u_mouseDir", [mouseCoordinates[0]-lastMouseCoordinates[0], - mouseCoordinates[1]-lastMouseCoordinates[1]], "2f"); + GPU.setUniformForProgram("force", "u_mouseCoord", [mouseCoordinates[0]/scale, mouseCoordinates[1]/scale], "2f"); + GPU.setUniformForProgram("force", "u_mouseDir", [(mouseCoordinates[0]-lastMouseCoordinates[0])/scale, + (mouseCoordinates[1]-lastMouseCoordinates[1])/scale], "2f"); } else { GPU.setUniformForProgram("force", "u_mouseEnable", 0.0, "1f"); } @@ -143,12 +142,12 @@ function resetWindow(){ actualWidth = body.clientWidth; actualHeight = body.clientHeight; + var maxDim = Math.max(actualHeight, actualWidth); + var scale = maxDim/300; + width = Math.floor(actualWidth/scale); height = Math.floor(actualHeight/scale); - // actualWidth = width; - // actualHeight = height; - canvas.width = actualWidth; canvas.height = actualHeight; canvas.clientWidth = body.clientWidth; @@ -161,6 +160,7 @@ function resetWindow(){ GPU.setProgram("diverge"); GPU.setUniformForProgram("diverge" ,"u_textureSize", [width, height], "2f"); GPU.setProgram("force"); + GPU.setUniformForProgram("force", "u_reciprocalRadius", 0.1*scale, "1f"); GPU.setUniformForProgram("force" ,"u_textureSize", [width, height], "2f"); GPU.setProgram("jacobi"); GPU.setUniformForProgram("jacobi" ,"u_textureSize", [width, height], "2f"); @@ -205,7 +205,7 @@ function resetWindow(){ function onMouseMove(e){ lastMouseCoordinates = mouseCoordinates; - mouseCoordinates = [e.clientX/scale, (body.clientHeight-e.clientY)/scale]; + mouseCoordinates = [e.clientX, (body.clientHeight-e.clientY)]; } function onMouseDown(){ -- GitLab