@Override
	public void run() {
		try {
			Display.setParent(canvas);
			Display.create();
		} catch (LWJGLException e) {
			e.printStackTrace();
		}
		this.initGL();

		this.t = Texture.loadTexture("map1.png");
		try {
			this.terrain = TerrainLoader.loadTerrain("terrain.png");
		} catch (IOException e) {
			e.printStackTrace();
		}
		this.camera = new Camera(this, this.terrain);
		
		while(true) {
			this.update();
			this.render();
			
			Display.update();
			Display.sync(60);
		}
	}