X-Git-Url: https://gitweb.ps.run/cloth_sim/blobdiff_plain/8a3364b0cd057fcfb7f89da112b9032fee76e403..56f6324db4aa55946a6b5ef7de3e1df8b0e22bca:/Scripts/main.js?ds=inline diff --git a/Scripts/main.js b/Scripts/main.js index 4d87337..7611601 100644 --- a/Scripts/main.js +++ b/Scripts/main.js @@ -75,12 +75,20 @@ 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); - - // Add Cloth Initialization + + //const loader = new THREE.TextureLoader(); + //Red color: 0xC70039 + + const cloth = new Cloth(1, 0.5, 40, 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); let raycaster = new THREE.Raycaster(); let intersects; @@ -90,7 +98,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 );