private void generateCubeFaces() {
		faces.clear();
		for(int x = 0; x < length; x++) {
			for(int y = 0; y < width; y++) {
				for(int z = 0; z < height; z++) {
					addCubeFace(new IntPoint(x, y, z), IntPoint.UP);
					addCubeFace(new IntPoint(x, y, z), IntPoint.FRONT);
					addCubeFace(new IntPoint(x, y, z), IntPoint.RIGHT);
				}
			}
		}
		for(int x = 0; x < length; x++) {
			for(int y = 0; y < width; y++) {
				addCubeFace(new IntPoint(x, y, 0), IntPoint.DOWN);
			}
		}
		for(int y = 0; y < width; y++) {
			for(int z = 0; z < height; z++) {
				addCubeFace(new IntPoint(0, y, z), IntPoint.LEFT);
			}
		}
		for(int z = 0; z < height; z++) {
			for(int x = 0; x < length; x++) {
				addCubeFace(new IntPoint(x, 0, z), IntPoint.BACK);
			}
		}
		Collections.sort(faces, new CubeCompare(vm.getViewPoint()));
	}