er_vert;
			waterMaterial.fragmentShader = water_frag;
			waterMaterial.metalness = 1.0;
			waterMaterial.roughness = 0.0;
			waterMaterial.transparent = true;
			waterMaterial.opacity = 0.9;

			return new t3d.Mesh(waterGeometry, waterMaterial);
		}

		function loop(count) {
			requestAnimationFrame(loop);

			controller.update();

			scene.updateMatrix();
			scene.updateRenderStates(camera);
			scene.updateRenderQueue(camera);

			shadowMapPass.render(renderer, scene);

			waterSimulation.stepSimulation(r