X-Git-Url: https://gitweb.ps.run/cloth_sim/blobdiff_plain/323d38f395da1cae25ba629d3365c37c30f53fdf..8199b09231f15b0f84480656a0e92827d795fcdc:/Scripts/main.js diff --git a/Scripts/main.js b/Scripts/main.js index d54aa9f..6fa9f22 100644 --- a/Scripts/main.js +++ b/Scripts/main.js @@ -75,7 +75,7 @@ function init() { const canvasSpace = 200; /** Constant Frame Time */ - const frameTime = 1000.0 / 60.0; + const frameTime = 1000.0 / 200.0; /** Setup scene */ let [scene, camera, renderer] = setup_scene(canvasSpace); @@ -83,13 +83,17 @@ function init() { //const loader = new THREE.TextureLoader(); //Red color: 0xC70039 - const cloth = new Cloth(1, 0.5, 20, 10); + const cloth = new Cloth(1, 0.5, 20, 20); const clothGeometry = cloth.generateGeometry(); //const clothMaterial = new THREE.MeshStandardMaterial({ map: loader.load('Textures/DeutschlandFlagge.jpg'), color: 0xffffff, side: THREE.DoubleSide, flatShading: false}); const clothMaterial = new THREE.MeshStandardMaterial({ color: 0xC70039, side: THREE.DoubleSide, flatShading: false }); const clothMesh = new THREE.Mesh(clothGeometry, clothMaterial); scene.add(clothMesh); + document.getElementById("windToggle").onchange = (e) => { + options.wind = e.target.checked; + }; + let raycaster = new THREE.Raycaster(); let intersects; let rightMousePressed; @@ -98,7 +102,9 @@ function init() { * @param {number} dt - time passed since last frame in ms */ function animate(dt) { - // simulate cloth + cloth.simulate(dt / 1000); + + cloth.updateGeometry(clothGeometry); raycaster.setFromCamera( new THREE.Vector2((mousePos.x / w) * 2 - 1, ((h - mousePos.y) / h) * 2 - 1), camera );